事件引擎EventBridge v1.0设计

1 简介

引入事件引擎作为事件流处理,集成中心,事件中心,流ETL的基础设施,建基于rocketmq的开源rocketmq eventbridge是一个很好的选择,经过分析后,rocketmq eventbridge基本满足要求,但域模型(domain)有比较大的改进空间,本次设计主要重构事件通道领域模型,及其持久层,本文主要介绍逻辑通道域模型设计

2 规划特性与发布计划

2.1 M1 逻辑事件通道

构建逻辑事件通道,映射物理事件通道

2.2 M2 分布式worker

引入elastic-platform,重构分布式worker,包括worker集群管理,配置管理

2.3 M3 资源管理器

支持k8s,实现资源高可伸缩

3 术语

Ø CloudEvents

用标准方式描述事件数据的开源规范,旨在简化事件声明以及跨服务、跨平台的消息投递

Ø 事件

状态变化的数据记录

Ø 事件总线

事件总线负责接收来自事件源的事件

4 参考资料

rocketmq eventbridge与connect源码原理分析I-架构,服务和组件

rocketmq eventbridge与connect源码原理分析II-worker

5 场景视图

下图展示场景,以用例展示

 类型定义 连接器类型注册,包括连接器参数,涉及手动录入,执行角色是系统的管理员

逻辑事件通道 拖拽构建逻辑事件通道,执行角色是用户

物理事件通道 用户构建好逻辑事件通道,一键启停,也可以部分连接器启停

监控指标 事件通道状态,连接器状态,bus流量

6 运行架构

 总体来说,EventBridge可以看作是runtime(connect)的管理台,基于domain构建逻辑事件通道,调用runtime api创建物理(可运行)事件通道,事件基于CloudEvent标准

7 技术架构

 整个架构可以分为两部分:上面是控制面、下面是数据面

控制面主要是类型注册,逻辑通道组件

数据面是真正数据流通通道,逻辑通道映射具体runtime物理通道,如,rocketmq connect

8 组件架构

 core.domain 逻辑事件通道的模型

core.client 远程调用接口,定义与runtime api的构建物理的事件通道的契约

adapter具体runtime实现

adapter.clinet core.client对应rocketmq connect的实现,构建/启停connector等操作

adapter.web 逻辑事件通道模型的构建,连接器/转换类型的注册,基于spring boot的web应用

adapter.persistence 事件通道模型持久

其中,web,rpc,持久属于adapter子系统,不同的runtime有对应的实现

9 事件通道领域模型

系统最核心功能,定义逻辑事件通道

Ø 组件

 Component 组件基类,获得基本属性

ClassComponent 类型组件,定义组件类型(className),描述属性(ParameterMetadata), ParameterMetadata用于界面构建属性输入页面,验证

Ø 事件通道

 事件通道领域可以分3层,类型定义;实例;运行

EventBridge 事件通道,聚合一组事件源和事件目标,过滤器,转换;多个事件源输入,经过过滤器分发,转换,最终到事件目标

EventSourceClass/EventTargetClass/Transform 源/目标事件/转换类型定义,注册,包括各组件的属性,类型,是否必须等,用于构建实例

EventSource/EventTarget/Transform 源/目标事件/转换(实例)

Runner 运行实例,描述运行环境,资源

EventBus运行的总线,包括事件存储(队列),过滤规则(最终落地为转换)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中间件XL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值