我有两个服务名称产品和订单。OrderDb 中的订单表有 price 和 productId 列,用于存储订购的产品价格和产品 ID。订单服务有 3 个副本。
现在,假设订购了一个产品,它的 id 为 80,并且从产品服务触发了一系列顺序更新事件,以针对该特定产品订购服务:
event1:{productId: 80, price: 500}
event2:{productId: 80, price: 600}
event3:{productId: 80, price: 400}
event4:{productId: 80, price: 900}
event5:{productId: 80, price: 100}
所以该产品的最终价格应该是 100,但有时这些事件是按随机顺序处理的,例如
event1:{productId: 80, price: 500}
event2:{productId: 80, price: 600}
event5:{productId: 80, price: 100}
event4:{productId: 80, price: 900}
event3:{productId: 80, price: 400}
由于最后处理事件 3,价格变为 400。