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

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

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

 

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

 

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


 1.png


 

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

 

 

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

   

2.png


图代理者拓扑示例

 

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

 

 

 

 

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


目录
相关文章
|
2月前
|
消息中间件 监控 测试技术
事件驱动架构是一种编程范式
【10月更文挑战第7天】事件驱动架构是一种编程范式
115 65
|
2月前
|
消息中间件 运维 数据库
架构设计之解析CQRS架构模式!
架构设计之解析CQRS架构模式!
架构设计之解析CQRS架构模式!
|
2月前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
|
2月前
|
存储 设计模式 监控
事件驱动架构的实现方式?
【10月更文挑战第7天】事件驱动架构的实现方式?
58 7
|
1月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
54 0
|
2月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
27 2
|
3月前
|
设计模式 开发框架 前端开发
在开发框架中实现事件驱动架构
【9月更文挑战第2天】事件驱动架构(EDA)通过事件机制让组件间解耦交互,适用于动态扩展和高响应性的系统。本文提供一个基于Beego框架实现事件驱动的示例,通过事件管理器注册和触发事件,实现用户注册和登录时的不同处理逻辑,展示了其在Web应用中的灵活性和高效性。
92 5
|
18天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
27天前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
42 3
|
1月前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####