事件引擎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运行的总线,包括事件存储(队列),过滤规则(最终落地为转换)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
RocketMQ EventBridge是一种事件桥接技术,可以将RocketMQ消息队列与其他事件源进行连接,实现异步事件的传输和处理。它能帮助开发人员在分布式系统中实现事件驱动的架构模式。 使用RocketMQ EventBridge,我们可以通过消息队列将不同服务或组件之间的事件进行解耦和协调。消息队列作为中介,可以确保消息在各个服务之间的可靠传递。而EventBridge会将这些事件从不同的事件源中提取出来,然后将其转发给订阅它的事件处理器。这样,不同的服务就可以根据自己的需求订阅特定的事件,并进行相应的处理。 RocketMQ EventBridge的特点包括: 1. 弹性可扩展性:可以根据业务需求进行水平扩展,以应对高并发的事件流。 2. 消息持久化:可以将事件消息持久化到消息队列,并提供持久化保证。 3. 顺序一致性:保证消息在不同的订阅者之间按照顺序进行处理。 4. 可靠性传输:提供高可靠性的消息传输机制,确保消息的可靠性和一致性。 5. 监控和管理:提供了丰富的监控和管理功能,方便对事件进行跟踪和管理。 通过使用RocketMQ EventBridge开发人员可以更好地实现微服务架构中的异步事件传输和处理。它可以帮助降低系统之间的耦合度,并提高系统的可扩展性和可维护性。同时,它还可以提供更好的用户体验,通过异步处理事件,提高系统的性能和响应速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

中间件XL

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

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

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

打赏作者

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

抵扣说明:

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

余额充值