问题描述
随着产品的扩展,API 和两层架构会导致瓶颈、数据争用和停机。如果有成千上万的请求和活动,消息可能会丢失
是什么让 websocket 连接比 Kafka 更有利?每个用例的最佳用例是什么?
是否有需要混合使用两种技术的大型聊天应用程序之类的示例?
解决方法
当您需要实时交互时应使用 Websocket,例如在聊天应用中向多个用户传播相同的消息(群组消息)。
Kafka 应该用作系统组件之间的主干通信层。它非常适合事件驱动的架构(微服务)。
我认为它们是为两种不同目的而开发的 2 种不同技术。
例如,Kafka 允许您轻松回复消息,因为它们存储在本地磁盘上(用于配置的主题保留时间)。 Websockets 基于 TCP 连接(双向通信),因此它们具有不同的用例范围。