今天專講 OrderCreatedEvent 本人:它為什麼是「可撮合」的門票?怎麼保證它送得正確?
在 Wallet 端用 builder 把 orderId/userId/price/quantity/type/createdAt 組成事件,再送到 order.exchange 的 order.created:
這些欄位對撮合來說是「最低必要」資訊:
Match Engine(之後的篇)會訂閱 order.created,將訂單放入 OrderBook(例如 Redis)進行撮合;Order Service 同樣會訂閱order.created來更新訂單資訊讓前端知道這筆訂單已進入訂單簿,本篇先交代語意與落點,後續再說明接受到created event會發生什麼。
在前幾天已用 Spring Cloud Contract 驗證 Wallet 端會正確送出 order.created:
OrderCreatedEvent 是撮合的唯一入口。藉由契約測試,已經把它的結構與路由固定下來,後續媒合服務接入就會順暢許多。