基于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/