基于cloudevents+easy-rules+centraldogma 进行基于规则的业务开发

主要是一个集成,基于标准的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/

posted on 2021-08-22 19:37  荣锋亮  阅读(376)  评论(0编辑  收藏  举报

导航