决策引擎 Note
决策引擎 Note
- 开场
- 常见的引擎有哪些?
- 游戏、模板、规则、决策;
- 引擎是一套通用的软件解决方案,基于引擎,可以实现一类相似的业务需求;
- 常见的引擎有哪些?
- 决策引擎是什么?
- 如果用最简单的说,对某一类型的事件进行加工处理后得到一个决策结果;
- 从这句话看起来,和规则引擎很像,确实很像,或者说决策引擎是一种高级的规则引擎(是基于规则引擎的提升改造以适应更加复杂的流程);
- 怎么会自己开发出一个决策引擎
- 罗列业务上的诉求
- 时间线
- 所以一个东西并不是一蹴而就的,也是因为业务的复杂逐渐提升,引擎也在随之提升变化
- 如何设计
- 原则
- 组合>继承
- 单一责任
- 每一个类应该和尽可能少的类交互,对象的层次设计
- 主要对象
- Filter
- TaskNode
- Task
- FlowEngine
- IFlowContext
- 原则
- 效果
- 代码工程可读性、可测试性(可维护性)强;
- 不同决策模型均适应
- 易扩展
- 方便查问题(日志落表与业务逻辑完全解耦)
- 可以在大数据环境运行(不基于Spring)
- 应用
- 同业预警财务模型V2
- 未来规划
- 支持并发
- 支持节点超时配置
- 前端展示转换层,配置与执行流可视化,便于运维
- 启示
- 原型能力
- 从规则引擎–>规则引擎V2–>决策引擎
- 产品需要打磨
- 其他
- 原型能力
最后修改于 2022-03-25