通用型 Golang 訊息處理套件

Avatar of 蔡旻峯 Caesar M. Tsai.
Avatar of 蔡旻峯 Caesar M. Tsai.

通用型 Golang 訊息處理套件

Backend Engineer
Taipei City, Taiwan

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 套件的整合過程。

Building message-driven applications is easy in Go.
Avatar of the user.
Please login to comment.

Published: May 5th 2024
50
3
0

Tools

go
Go

go
message

Share