主要是一個集成,基於標准的cloudevents 事件數據格式,集成easy-rules 方便的規則處理能力加速復雜業務處理
利用centraldogma強大的配置管理能力,解決規則的實時更新問題,讓業務可以直接基於配置規則進行管理調整
參考圖
說明
- 處理流程
client 基於cloudevent 進行業務請求(利用了cloudevents的能力),業務包含一個cloudevents handler (可以基於spi或者類似的能力進行handler 的處理)
cloudevents handler 可以基於一個evnetshandler container 實現不同event 的處理,對於請求的業務數據可以直接基於handler 處理,handler 實現了通用的
數據處理,數據到eventhandler 之后基於easy-rules 進行復雜業務數據的處理,同時包含一個獲取數據結果的handler(很多時候數據處理是需要結果的).對於
數據規則的處理我們直接利用centraldogma的能力方便的進行規則調整 - eventshandler 實現的一些說明
因為基於了事件進行處理,同時事件是包含業務實體的,而且easy-rules 的處理是需要利用通用java 能力的(一些spring bean 或者java 代碼),所以我們需要
包含一個比較完備的約定,基於spi 以及通用事件注冊機制的模式是一個不錯的選擇,后續會寫一些相關的實現細節
參考資料
https://cloudevents.github.io/sdk-java/
https://github.com/rongfengliang/easy-rules-centraldogma-spring-boot-starter
https://github.com/j-easy/easy-rules
https://line.github.io/centraldogma/