https://github.com/KScaesar/art
art 是一個訊息路由器,專為處理訊息流設計,讓開發者能根據特定需求自訂訊息處理和路由配置。
與 Watermill 類似,art 期待整合多種第三方 pub/sub 套件,但更注重應用層邏輯的處理和 Middleware。
不論是建構事件驅動系統或任何需要訊息傳遞的應用程式,都可以使用 art。
主要特色:
1. 彈性路由定義:
支援基於數字或字串的路由定義,並支援參數化路由,如 /users/{id},可以根據需求自訂路由。
2. Middleware:
提供 PreMiddleware 和 PostMiddleware,允許在處理函式前後添加Middleware,實現錯誤恢復、日誌記錄、性能監控等功能。
3. Group 管理:
使用 Group 功能將相關路由和處理程序組織在一起,提高程式碼可管理性,利用 trie tree 數據結構進行路由查找。
4. 整合 Adapter:
與第三方 pub/sub 套件整合,支持訊息發送、接收及連接管理,並提供統一的 Shutdown 和 Stop 方法以優雅地關閉適配器。
5. 生產力工具:
提供 gen code 工具幫助快速生成 Adapter 程式碼,加速與第三方 pub/sub 套件的整合過程。