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

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

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

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

实时更新协议

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

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

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

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

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

相关推荐
西安小哥11 分钟前
大厂把大模型做为一层“网关”,比换个框架更值得琢磨
架构·langchain
吴建旭 智宅焕1 小时前
智能家居全国交付中报价工具与交付基础设施的架构分离设计:接口化路径与交付确定性系统实现
架构·智能家居
你看我名字1 小时前
产品参数昨天还对,今天已过期:数眼智能与大模型应用如何做资料版本校验
开发语言·架构
xbzb2 小时前
Docker 架构与部署:一条 docker run 到底走了三层
docker·容器·架构·镜像·加速·daemon
Decay__2 小时前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
安易算力8 小时前
Token计费系统设计与优化:算力API的后端架构实践
架构
Decay__11 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
一只爱撸猫的程序猿12 小时前
我看着一个 AI 引擎在 14 天里,从"记忆"走进了"搜索"
人工智能·后端·架构
Dawson Zhu16 小时前
从空间 Scaling 到时间 Scaling
人工智能·语言模型·架构·aigc·agi
say_fall1 天前
【AI大模型】MCP 模型上下文协议:客户端-服务器架构、JSON-RPC 消息与能力协商、工具发现与调用链路、与函数调用的分工
服务器·人工智能·架构