架构模式-事件驱动架构-代理者拓扑

简介: 架构模式 事件驱动架构 代理者拓扑 broker topology

今天我们来看下代理者拓扑(Broker Toplogy)。

 

 代理者拓扑和调度者拓扑的不同点在于:代理者拓扑没有中心化的事件调度者;相反,消息流是通过轻量级的消息代理将消息分布到消息处理器组件中。当你有一个简单的事件处理流程,但是你不想或者不需要一个中心化的事件编排时,代理者拓扑将会大有用处。

 

 代理者拓扑有两个主要架构组件:代理者组件和事件处理器组件。代理者组件可以是中心化的,也可以是非中心化的,包含所有事件流需要使用的事件通道。代理者组件中的事件通道可以是消息队列,消息主题,或者是两者的结合。


 1.png


 

上图为代理者拓扑的图示。从上图中可以看出,没有中心化的事件调度者组件控制与编排初始化事件;而是每个事件处理器负责处理事件,并且发布一个新的事件来表示自己刚执行的动作。例如:一个平衡股票组合事件处理器收到了一个股票分割初始化事件。基于这个初始化事件,平衡股票组合事件处理器可能会重整投资平衡,然后发布一个重整投资平衡的新事件到代理者,然后其他的事件处理器可能会获取到这个新事件,执行自己的事件处理器。注意:可能事件处理器发布的新事件没有任何一个其他的事件处理器会接收到(可能是为了应用程序未来需要提供的功能或者扩展)。

 

 

为了举例说明代理者拓扑如何工作的,我们来举一个和调度者拓扑一样的例子(保险搬家)。由于没有中心化的事件调度者来接收初始化事件,用户处理组件则直接接收事件,改变用户的地址,并发送一个新事件:用户的新地址(例如改变地址事件)。在这个例子中,有两个事件处理器对修改地址事件感兴趣:价格处理和理赔处理。价格处理器组件根据新地址来计算赔率,并发布一个新事件(例如:重新计算价格事件)。理赔处理组件收到相同的地址修改事件,然后他跟新一个未赔付的保险索赔,并发布一个新事件:更新索赔事件。这些新事件由其他事件处理器组件接收,且事件链会持续直到没有新的事件发布。

   

2.png


图代理者拓扑示例

 

从上图可以看出,代理者拓扑是一个基于事件链来进行业务操作功能的。理解代理者拓扑最好的方式是把它想象成一个接力赛。在接力赛中,跑步的人手持一个接力棒,然后奔跑一段距离,然后将接力棒传递给下一棒的接力者,一直持续直到最后一个人到达终点线。对于代理者拓扑来讲:一旦这个事件处理器将事件处理完毕,那么这个处理器将不再设计这条事件的任何处理了。

 

 

 

 

以上即事件驱动架构代理者拓扑,下篇看一下事件驱动架构分析方面。


目录
相关文章
|
15天前
|
消息中间件 监控 测试技术
事件驱动架构是一种编程范式
【10月更文挑战第7天】事件驱动架构是一种编程范式
103 65
|
10天前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
|
15天前
|
存储 设计模式 监控
事件驱动架构的实现方式?
【10月更文挑战第7天】事件驱动架构的实现方式?
34 7
|
16天前
|
消息中间件 运维 数据库
架构设计之解析CQRS架构模式!
架构设计之解析CQRS架构模式!
架构设计之解析CQRS架构模式!
|
20天前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
14 2
|
2月前
|
设计模式 开发框架 前端开发
在开发框架中实现事件驱动架构
【9月更文挑战第2天】事件驱动架构(EDA)通过事件机制让组件间解耦交互,适用于动态扩展和高响应性的系统。本文提供一个基于Beego框架实现事件驱动的示例,通过事件管理器注册和触发事件,实现用户注册和登录时的不同处理逻辑,展示了其在Web应用中的灵活性和高效性。
80 5
|
17天前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
57 2
|
21天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
【10月更文挑战第1天】探索微服务架构中的API网关模式
65 2
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
2月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1