我有Spring-boot Kafka pub子微服务,如图所示。我想为每个应用程序进行集成测试。
UseCase1: SpringBoot-App-c ,其中consumes
从Topic X
进行处理,并将produces
到{{1} }。
UseCase2:: SpringBoot-App-b 仅消耗Topic Y
并对其进行处理
预期:
在我的测试中,我想发布一条消息到Topic X
(打算用于Springboot-app-c),该消息应由 Spring-Boot-App-C 处理并产生到{{1} },我想确认该特定消息是否针对主题Y产生。
缺点::当我向主题X发出一条消息,该消息打算与Topic X
一起用于Topic Y
时,正在选择它。当我尝试测试一个应用程序时-它在不知不觉中测试了三个应用程序,我想对其进行更多控制。我希望仅由Springboot-app-c
接收测试消息。如何使其针对特定应用并分别测试每个应用
答案 0 :(得分:2)
如何知道一些有关主题Y的信息
将消费者添加到主题Y的测试中,以验证您是否收到了预期的数据。
如何仅从主题X中吸引一个正确的消费者来获取该特定应用的测试消息
您不能; Kafka中没有用于条件路由或消息选择的机制。所有消费者组均获得该消息的副本。
您将不得不使用单独的主题。