什么时候使用 websockets 比使用消息代理如 Kafka更好?

问题描述

随着产品的扩展,API 和两层架构会导致瓶颈、数据争用和停机。如果有成千上万的请求和活动,消息可能会丢失

是什么让 websocket 连接比 Kafka 更有利?每个用例的最佳用例是什么?

是否有需要混合使用两种技术的大型聊天应用程序之类的示例?

解决方法

当您需要实时交互时应使用 Websocket,例如在聊天应用中向多个用户传播相同的消息(群组消息)。

Kafka 应该用作系统组件之间的主干通信层。它非常适合事件驱动的架构(微服务)。

我认为它们是为两种不同目的而开发的 2 种不同技术。

例如,Kafka 允许您轻松回复消息,因为它们存储在本地磁盘上(用于配置的主题保留时间)。 Websockets 基于 TCP 连接(双向通信),因此它们具有不同的用例范围。