【发布时间】:2020-08-02 12:49:46
【问题描述】:
虽然 Pact 支持消息测试,但我发现“Pact Nirvana”中推荐的流程与我理解的事件驱动应用程序需要的流程不太匹配。
假设我们有一个订单管理服务和一个运输管理服务。
Shipping 服务发出ShippingPreparedEvents,Order 服务接收到这些@s。
如果我们删除了 ShippingPreparedEvent 中的一个字段,我希望首先对 Order 服务进行更改,使其停止读取旧字段。部署它。然后在 Shipping 服务中进行更改并部署它。
这样,服务就不会出现任何停机时间。
但是,我相信 Pact 会期望首先部署 Shipping 服务(它是事件的提供者),以便在部署消费者之前可以验证合同。在这种情况下,首先部署提供者会破坏我的消费者。
这种情况可以避免吗?我错过了什么吗?
只是为了提供更多上下文,我们可以在此链接中看到不同的更改需要不同的部署顺序。 https://docs.confluent.io/current/schema-registry/avro.html#summary 我不会使用 Kafka 或 Avro,但我相信我的流程会类似。
非常感谢。
【问题讨论】:
标签: pact pact-broker