考虑一个" dockerized" 使用单个 kafka主题且生成其他应用程序使用的许多 kafka主题的应用程序,让我们调用这些服务。
应用程序通过在其唯一的使用者主题中生成消息来查询服务。
查询消息由标头和有效负载组成。除其他外,标题包含应生成响应的主题信息。
服务生成响应并将其发送到完成请求周期的应用程序使用者主题。
消费者和生产者在启动时设置并且" ping"发送消息以初始化/授权主题生成者。
所有这些都适用于单个泊坞窗实例。
现在我想扩展双方并能够运行应用程序和服务的几个docker实例。
考虑到响应必须始终到达负责请求的应用程序实例,在主题名称和分区复制方面最好的方法是什么?
答案 0 :(得分:0)
我不打算在这里谈论分区,因为这取决于你自己的订购要求,我无法真正推断出足够的信息来做出任何有根据的猜测。
关于横向扩展您的消费者/生产者,我希望能提供帮助。
简单方法: 您提到您的邮件中有标题,我还要包含额外的元数据,例如" SENDER"。将所有消息发布到单个主题,但将每个服务注册为使用者组 - 使用服务名称。
如果您的服务收到的消息不是(检查SENDER,只是确认)。否则,处理该消息。