事件驱动设计

yep(y event process)引擎是为了满足对事件进行分析并做出反应等这些应用需求而产生的。这些应用要求近事实处理事件(或消息)。
关键要考虑这些类型应用的(高)吞吐量、(低)响应时间和需求逻辑的复杂程度(暂时无复杂计算,只考虑业务聚合)。

应用步骤以及原理如下:
1、获取一个YCP引擎实例
2、生成一个Statement(用Yql的查询语言,即用sql定义规则,暂不支持复杂逻辑,只是业务聚合),意味着事件处理机制的注册.
3、使用引擎注册这个Statement
4、生成一个Listener(通过实现一个Java接口,该接口在Statement所得值为true会被触发),并把它跟Statement绑定起来。
工作原理:
事件能以Java对象形式展现,当它们通过系统的时候,系统会评估Statement的值,即触发对应事件处理链,执行相关逻辑,并将结果交付Listener,触发下一步执行。

核心在于事件处理链的处理流程。

数据平台使用逻辑:
对于待聚合事件 A, B, C (数据库事件)

examples:


A发生  -> 触发事件机制 -> [经过事件处理链(主要业务逻辑)判断] -> 符合逻辑 -> 进一步触发listener -> 形成一个完整的事件 -> 入库存储等
                                                      -> 不符合逻辑 -> 进入缓存(待处理)
                                                      

处理链:是否满足聚合逻辑,是否需要做保留,具体过滤条件(sql where条件)

架构图


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值