如何在消费相同的kafka主题时复制微服务?

考虑一个“dockerized”应用程序,它使用单个 kafka主题,并其他应用程序使用的许多 kafka主题上生成 ,我们称之为这些服务。

应用程序通过在其独特的消费者主题中生成消息来查询服务。

查询消息由头部和有效载荷组成。 除此之外,标题包含应该产生响应的主题信息。

服务产生一个响应,并将其发送给完成请求周期的应用程序使用者主题。

消费者和生产者在启动时被设置,并且发送“ping”消息来初始化/授权主题生产者。

所有的作品与单个docker实例很好。

现在我想扩大双方,并能够运行应用程序和服务的多个docker实例。

在主题名称和分区复制方面,考虑到响应必须始终到达负责请求的应用程序实例,那么最好的方法是什么?

我不打算在这里讨论分区问题,因为这归结于你自己的sorting要求,而且我也无法推断出足够的信息来进行任何有意义的猜测。

关于水平扩大你的消费者/生产者,我希望能够帮助。

简单的方法:您提到您的邮件上有一个标题,我会包含额外的元数据,例如“SENDER”。 将所有消息发布到单个主题,但将每个服务注册为使用者组 – 使用服务名称。

如果您的服务得到一个不适合的消息(检查SENDER,只是确认)。 否则,处理消息。