当前位置: 首页 > news >正文

Gartner《Choosing Event Brokers to Support Event-DrivenArchitecture》心得

一、概述

随着企业数字化转型的加速,事件驱动架构(EDA)在应用和集成架构中扮演着越来越重要的角色。事件代理作为 EDA 的核心组件,其选择对于整个系统的性能、可靠性和可扩展性都有着深远的影响。

二、关键发现

  • 需求与功能不匹配的代价高 :事件代理功能的多样性使得在选择时必须精准匹配需求。例如,若一个系统需要高吞吐量和低延迟,而选择了不适合的代理,后期修改架构和代码的代价极高。

  • 四核心领域需关注

    • 客户端连接 :涉及客户端与代理之间的通信协议、连接方式等。例如,对于物联网场景,可能需要支持 MQTT 协议以适应低带宽、高延迟的网络环境。

    • 事件传递语义 :包括消息的可靠性、顺序性等。如金融交易系统可能要求消息的严格顺序传递和高可靠性,不能丢失或重复。

    • 部署模型 :影响系统的可扩展性和可用性。例如,云原生应用可能更适合部署在云服务上的事件代理,利用云的弹性伸缩能力。

    • 管理能力 :涉及代理的监控、配置、安全管理等。一个大型企业级应用需要强大的管理界面和工具来确保事件代理的稳定运行。

  • 三种常见事件代理类型

    • 队列导向型 :适合需要灵活主题结构和多协议支持的场景。如企业服务总线(ESB)中,不同系统之间需要通过多种协议进行集成。

    • 日志导向型 :适用于需要消息保留和重放的场景。如大数据分析平台,需要对历史数据进行重新处理和分析。

    • 订阅导向型 :主要针对云原生和无服务器架构。如在 Serverless 架构中,事件代理需要快速响应事件并触发相应的函数。

  • 缺乏有效治理工具 :事件模式管理、追踪和自助服务能力的缺失可能导致系统难以维护和扩展。例如,没有事件模式管理,当事件格式发生变化时,可能需要修改大量代码来适配。

  • 云服务配置复杂度低但非零 :使用云服务可以简化配置,但仍然需要对网络、安全等进行一定的配置。同时,云服务的客户端连接能力可能受到地域、网络带宽等因素的限制。

三、分析

  • EDA 的重要性与背景 :在云原生时代,系统架构变得越来越复杂和分散。EDA 能够使得各个组件之间松耦合、异步通信,提高系统的灵活性和可扩展性。例如,一个电商平台可以使用 EDA 来处理订单、库存、支付等不同模块之间的通信。

  • EDA 的多样性与挑战 :由于 EDA 的多样性,企业在选择事件代理时面临诸多挑战。不同的业务场景对事件代理的功能要求不同,如物联网场景需要支持大量设备的连接和低延迟通信,而金融场景则更注重数据的安全性和可靠性。

四、Event Broker功能

事件代理在 EDA 中扮演着中间件的角色,其功能的实现直接影响到整个系统的性能和稳定性。

 

(二)管理事件的逻辑结构

 

(三)事件传递

 

(四)确定连接方式与消息传递机制

 

(五)代理的可扩展性与性能

 

(六)代理的容错性与恢复能力

<
http://www.lqws.cn/news/595693.html

相关文章:

  • AG32调试bug集合
  • ubuntu编译 aosp for x86, windows avd启动 aosp-qemu镜像
  • PADS使用记录2
  • android14 默认关闭或开启数据流量
  • Ubuntu机器开启root用户远程登录
  • FastGPT与MCP:解锁AI新时代的技术密码
  • Spring Boot - 参数校验:分组校验、自定义注解、嵌套对象全解析
  • 【CVPR2024】计算机视觉|EGTR : Transformer中挖掘关系图,场景图生成SOTA!
  • 141.在 Vue 3 中使用 OpenLayers Link 交互:把地图中心点 / 缩放级别 / 旋转角度实时写进 URL,并同步解析显示
  • 利用springEvent,进行服务内部领域事件处理
  • 使用 icinga2 写入 TDengine
  • 用lines_gauss的width属性提取缺陷
  • C++ 11 中 condition_variable 的探索与实践
  • python 调用C/C++动态库
  • Apache HTTP Server部署全攻略
  • 用于快速训练收敛的 Conditional DETR
  • 基于.Net的Web API 控制器及方法相关注解属性
  • 数字ic后端设计从入门到精通10(含fusion compiler, tcl教学)静态时序分析
  • 3D 商品展示与 AR 试戴能为珠宝行业带来一些便利?
  • 什么是测试用例?它的核心要素有哪些?
  • docker desktop部署本地gitlab服务
  • 【仿muduo库实现并发服务器】Connection模块
  • 【仿muduo库实现并发服务器】Acceptor模块
  • 笔记/计算机网络
  • ChatGPT使用限额记录与插件统计
  • Softhub软件下载站实战开发(九):编写软件配置管理界面
  • Electron 应用打包与分发:从开发到交付的完整指南
  • Call、Apply、Bind详解
  • 如何进行Edge版本回退及禁用更新
  • 结构光相机:重塑工业自动化的“智慧之眼”,驱动智能制造新未来