iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0
Software Development

事件驅動電力交易平台:Spring Boot 實戰系列 第 8

Day 8|AMQP 組態與命名:支撐現有事件流的最小集合

  • 分享至 

  • xImage
  •  

1. 現行組態(最小可行)

• 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(...)。

2.命名規約(現況)

角色 名稱 說明
Exchange order.exchange 所有訂單相關事件的交換器(Topic)
Routing Key order.create 建立訂單(待核定)
Queue order.create.queue Wallet 監聽的佇列
Routing Key order.created Wallet 核定完成(可供撮合)
以 資源.動作 來命名 routing key,先從現有兩個 lifecycle(create/created)開始,未來再擴增(撤單、撮合完成等),不需要一次把所有 key 都定死。

3. 為何一個 Topic 就夠用?

因為目前只是一對多(或多對多)的主幹流:Order → Wallet(create),Wallet → Match(created)。Topic 未來可以在 order.* 底下再掛其他 routingKey,不用額外維護多個Topic。

4. 小結

先把關鍵路徑打通,等 match-engine 接入(之後的篇章)再延伸,不會把現在的路線卡住。設定也都集中在一支 config,維護簡單。


上一篇
Day 7|從 REST 到事件:Order Service 的請求 → 事件映射全流程
下一篇
Day 9|Wallet Consumer :資產驗證與鎖定的交易邏輯
系列文
事件驅動電力交易平台:Spring Boot 實戰9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言