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

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

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

 

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

 

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


 1.png


 

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

 

 

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

   

2.png


图代理者拓扑示例

 

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

 

 

 

 

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


目录
相关文章
|
1月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
135 7
|
4月前
|
缓存 算法 网络协议
IP代理技术原理深度解析:从基础架构到应用实践
IP代理是网络通信中的关键技术,通过构建中间层实现请求转发与信息过滤。其核心价值体现在身份伪装、访问控制和性能优化三个方面。文章详细解析了HTTP与SOCKS协议的工作机制,探讨了代理服务器从传统单线程到分布式集群的技术演进,并分析了在网络爬虫、跨境电商及企业安全等场景的应用。同时,面对协议识别、性能瓶颈和隐私合规等挑战,提出了多种解决方案。未来,IP代理将融合边缘计算、AI驱动优化及量子安全加密等趋势,持续发展为支撑现代互联网的重要基础设施。
287 2
|
11月前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
364 97
|
6月前
|
消息中间件 人工智能 自然语言处理
基于 RocketMQ 事件驱动架构的 AI 应用实践
基于 RocketMQ 事件驱动架构的 AI 应用实践
182 2
|
11月前
|
消息中间件 监控 测试技术
事件驱动架构是一种编程范式
【10月更文挑战第7天】事件驱动架构是一种编程范式
181 65
|
10月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
305 0
|
9月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
10月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
233 3
|
5月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
322 12

热门文章

最新文章