Websocket 将消息从Kafka路由到连接到应用程序服务器群集的web套接字客户端
我想找出将消息从Kafka路由到连接到负载平衡的应用程序服务器集群的web套接字客户端的最佳方法。我知道SpringKafka有助于消费消息并将消息发布到kafka主题,但在连接到分布式kafka主题时,这在负载平衡的应用程序服务器场景中是如何工作的。以下是我希望满足的要求,总体目标是在用户量非常非常大的应用程序中促进对等消息传递:Websocket 将消息从Kafka路由到连接到应用程序服务器群集的web套接字客户端,websocket,apache-kafka,spring-kafka,Websocket,Apache Kafka,Spring Kafka,我想找出将消息从Kafka路由到连接到负载平衡的应用程序服务器集群的web套接字客户端的最佳方法。我知道SpringKafka有助于消费消息并将消息发布到kafka主题,但在连接到分布式kafka主题时,这在负载平衡的应用程序服务器场景中是如何工作的。以下是我希望满足的要求,总体目标是在用户量非常非常大的应用程序中促进对等消息传递: Web客户端可以通过负载平衡器通过Web套接字连接连接到tomcat应用程序服务器 Web客户端可以向连接到不同tomcat应用服务器的另一个客户端发送消息/通知
我认为应用服务器负载平衡可以通过将具有特定路由密钥的用户(用户以“a”等开头)记录到特定的应用服务器上,然后仅使用该应用服务器上以“a”开头的用户的消息来实现。但这似乎很难维护,并且会使自动缩放变得非常困难。这似乎是一个需要实现的常见场景,但我找不到任何适合此场景的工具或方法。听起来每个消费者都应该生活在自己的消费群体中。这样,所有可用的使用者都将使用发送到主题的所有消息。因此,所有连接的websocket客户端都将收到这些消息的通知 如果您需要更复杂的逻辑来处理这些消息
在消费之后,例如过滤、路由、转换、聚合等,你应该考虑在项目中加入Spring集成:谢谢你花时间用一个可行的解决方案来回答我的问题。我对每个消费者消费发送到主题的所有消息的唯一犹豫是,这会在一定程度上限制横向可伸缩性。我知道在消息量非常大之前,这不会是一个问题,但我希望有一个没有任何横向可伸缩性瓶颈的设计。我不熟悉spring集成,但是谢谢你的建议——我会看一看。