我创建了一个订阅两个主题TopicA和TopicB的客户。 当消费者收到来自TopicA的消息时,我的业务逻辑是将ObjectA存储到MySQL中。 当消费者收到来自TopicB的消息时,我的业务逻辑是更新ObjectA。主题之间的卡夫卡依赖关系
但是现在的问题是: TopicA和TopicB是相互独立的。 消费者可能会先收到来自TopicB的消息,然后收到TopicA的消息。 当试图更新ObjectA时,我发现它不存在于mysql中,然后抛出一个NullPointerException异常。
有什么办法来配置TopicA和TopicB以确保消息从TopicA接收的第一,然后从TopicB接收。
换句话说,我怎样才能使主题之间的依赖关系?
数据如何发送到TopicA和TopicB?数据是否保证在TopicB之前发送给TopicA,而您只是想按照正确的顺序阅读它?或者可以在TopicA之前将数据发送到TopicB,并且您只是想确保TopicA在TopicB之前位于TopicB中? – morganw09dev
为什么你需要两个不同的主题?只需使用一个插入对象的主题即可。 –
如果主题分区为1,则使用一个主题可以解决我的问题。但对于更多的分区,它仍然无法正常工作。 – fcbflying