实例讲解:用于实时解决方案的事件驱动架构

用于实时解决方案的事件驱动架构

对于成功的实时解决方案,您需要考虑一种事件驱动的异步通信方法。在事件驱动模型中,事件指示可能会触发感兴趣的客户端(或事件使用者)执行某些操作(例如更新 UI)的更改。事件通过事件通道作为消息传递给使用者。事件生成者正在传递反映数据或状态实时更改的事件。

事件驱动系统中的典型模式是"发布和订阅"。当状态发生更改时,事件生成者(发布者)发送事件消息,事件订阅者可以使用这些消息并调用其业务逻辑作为响应。

实时更新协议

在事件驱动的体系结构中,事件使用者需要能够异步接收更新。可供选择的协议包括:

  • HTTP 长轮询:服务器保持客户端连接打开状态,以便在新数据可用或达到连接超时阈值时提供响应。
  • WebSocket:通过持久 TCP 连接提供双向全双工通信通道,与半双工替代方案(如 HTTP 长轮询)相比,开销要低得多。
  • MQTT:用于在 CPU 功率和/或电池寿命有限的设备(例如 IoT 设备)之间流式传输数据的首选协议。
  • SSE:一种开放、轻量级、仅订阅的协议,用于事件驱动的数据流。 WebSocket 可以说是支持实时用户体验的最广泛使用的协议。WebSocket 于 2011 年由 - RFC 6455 标准化,是建立在设备的 TCP/IP 堆栈之上的薄传输层。

WebSocket的出现标志着 Web 开发的转折点。

WebSocket 连接专为事件驱动架构而设计,并针对最小开销和低延迟进行了优化,可通过持久的单套接字连接在客户端和服务器之间实现双向全双工通信。其目的是提供本质上尽可能接近原始的 TCP 通信层。

与 REST 相比,WebSocket 连接提高了效率;它们的扩展性更好,并且 WebSocket 协议是基于推送的,因此连接的客户端在事件发生时立即接收更新。

相关推荐
代码方舟12 小时前
零信任架构实战:基于天远人企关联构建自动化供应链金融网关
运维·人工智能·架构·自动化
天远API13 小时前
零信任架构实战:基于天远人企关联构建自动化图谱网关
网络·人工智能·架构·自动化
szxinmai主板定制专家14 小时前
RK3588+FPGA异构架构|高速数据采集+边缘AI落地应用全解析
人工智能·嵌入式硬件·fpga开发·架构·zynq
李福春15 小时前
降SpringAI阿里第1掌-亢龙有悔-识势选型
人工智能·架构·腾讯云架构师同盟
李游Leo15 小时前
HarmonyOS 7 + ArkUI + RelationalStore 学习笔记:本地数据分层存储与状态持久化架构实践【鸿蒙心迹】
笔记·学习·架构·harmonyos
绿蕉15 小时前
从“叠积木补安全“到“设计即安全“:EE 架构里的安全左移革命
安全·架构
voipmaker16 小时前
AI 赋能安防系统演进:从硬件单品到场景化融合调度架构
人工智能·ai·架构
数据工匠老o17 小时前
"能用应用层解决的不用存储过程",十年数据库经验总结
数据库·架构
弈栈录18 小时前
Java AI 应用的异步化与高并发设计
java·后端·架构
硅基手札18 小时前
【risc-v专栏 06b】内存架构深挖:PMA / ePMP / Cache / CMO / MMU 细节 / RVWMO 形式化
架构·risc-v