• Exchange:order.exchange(Topic)
• Queue:order.create.queue(接 order.create)
• Binding:order.create → order.create.queue
• Producer:Order 送 order.create
• Consumer:Wallet 監聽 ORDER_CREATE_QUEUE,通過核定後送出 order.created(下一篇會介紹後續流程)
對應的 Spring 設定都在 Day 3:orderExchange()、orderCreateQueue()、bindOrderCreateQueue(...)。
角色 | 名稱 | 說明 |
---|---|---|
Exchange | order.exchange | 所有訂單相關事件的交換器(Topic) |
Routing Key | order.create | 建立訂單(待核定) |
Queue | order.create.queue | Wallet 監聽的佇列 |
Routing Key | order.created | Wallet 核定完成(可供撮合) |
以 資源.動作 來命名 routing key,先從現有兩個 lifecycle(create/created)開始,未來再擴增(撤單、撮合完成等),不需要一次把所有 key 都定死。 |
因為目前只是一對多(或多對多)的主幹流:Order → Wallet(create),Wallet → Match(created)。Topic 未來可以在 order.* 底下再掛其他 routingKey,不用額外維護多個Topic。
先把關鍵路徑打通,等 match-engine 接入(之後的篇章)再延伸,不會把現在的路線卡住。設定也都集中在一支 config,維護簡單。