如何解决在Kafka中将客户端从负载均衡器重定向到合适的用户
我正在一个个人项目中,我希望能够从生产者向最终用户发送一条消息。
每条消息将具有一个密钥,用于标识必须接收该消息的用户。
这是我想象的整体结构:
我无法弄清楚如何告诉负载平衡器,例如,每当具有键2的用户联系负载平衡器时,我们就必须与使用键2的使用者处理分区建立连接(可能是WebSocket)在他们之中。可能可以通过使用Kafka在必须为密钥分配分区时使用的相同技术,或者通过跟踪每个使用者管理的密钥来完成某些事情。
我不知道这是否可行,但是即使可行,我描述的技术也可能会使代码与体系结构过于耦合。
您能帮我解决这个问题吗?我不想将消息存储在远程数据存储上并从随机使用者中检索它们。我希望消费者只要与之建立连接就能够尽快为用户服务。如果没有与该用户的连接,那么我可以存储消息并在连接准备好时将其传递。
解决方法
我最终发现他们在Netflix上使用的Push Messaging技术很有用。诀窍是添加由Web服务器组成的另一级别的间接访问。每当新客户端连接到其中一台Web服务器时,元组
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。