在Kafka中将客户端从负载均衡器重定向到合适的用户

问题描述

我正在一个个人项目中,我希望能够从生产者向最终用户发送一条消息。 每条消息将具有一个密钥,用于标识必须接收该消息的用户。
这是我想象的整体结构:

system design

我无法弄清楚如何告诉负载平衡器,例如,每当具有键2的用户联系负载平衡器时,我们就必须与使用键2的使用者处理分区建立连接(可能是WebSocket)在他们之中。可能可以通过使用Kafka在必须为密钥分配分区时使用的相同技术,或者通过跟踪每个使用者管理的密钥来完成某些事情。

我不知道这是否可行,但是即使可行,我描述的技术也可能会使代码与体系结构过于耦合。

您能帮我解决这个问题吗?我不想将消息存储在远程数据存储上并从随机使用者中检索它们。我希望消费者只要与之建立连接就能够尽快为用户服务。如果没有与该用户的连接,那么我可以存储消息并在连接准备好时将其传递。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)