实例讲解:用于实时解决方案的事件驱动架构
用于实时解决方案的事件驱动架构对于成功的实时解决方案您需要考虑一种事件驱动的异步通信方法。在事件驱动模型中事件指示可能会触发感兴趣的客户端或事件使用者执行某些操作例如更新 UI的更改。事件通过事件通道作为消息传递给使用者。事件生成者正在传递反映数据或状态实时更改的事件。事件驱动系统中的典型模式是“发布和订阅”。当状态发生更改时事件生成者发布者发送事件消息事件订阅者可以使用这些消息并调用其业务逻辑作为响应。实时更新协议在事件驱动的体系结构中事件使用者需要能够异步接收更新。可供选择的协议包括HTTP 长轮询服务器保持客户端连接打开状态以便在新数据可用或达到连接超时阈值时提供响应。WebSocket通过持久 TCP 连接提供双向全双工通信通道与半双工替代方案如 HTTP 长轮询相比开销要低得多。MQTT用于在 CPU 功率和/或电池寿命有限的设备例如 IoT 设备之间流式传输数据的首选协议。SSE一种开放、轻量级、仅订阅的协议用于事件驱动的数据流。 WebSocket 可以说是支持实时用户体验的最广泛使用的协议。WebSocket 于 2011 年由 - RFC 6455 标准化是建立在设备的 TCP/IP 堆栈之上的薄传输层。WebSocket的出现标志着 Web 开发的转折点。WebSocket 连接专为事件驱动架构而设计并针对最小开销和低延迟进行了优化可通过持久的单套接字连接在客户端和服务器之间实现双向全双工通信。其目的是提供本质上尽可能接近原始的 TCP 通信层。与 REST 相比WebSocket 连接提高了效率;它们的扩展性更好并且 WebSocket 协议是基于推送的因此连接的客户端在事件发生时立即接收更新。