我正在使用微服务架构开发批处理流程。在整批处理中需要执行的一系列步骤将由不同的微服务执行。 Kafka被用作消息总线 所有的微服务都使用kafka进行交互。
在批处理过程中,第一个微服务从数据库中提取数据,然后对于每个拉取的记录,它将创建一个消息,该消息被处理为第二个微服务,然后它再次向总线发布消息。
在一天结束时,我们需要对第一个微服务发布的消息与上一个微服务发布的消息进行协调。
现在尝试使用另一个使用spring integration kafka来读取来自这两个主题的消息的微服务来执行协调,但由于以下原因,这种方法似乎很复杂: 1)起始主题和结束主题将用于我的多个批处理过程。 因此,我最终会在执行时一次又一次地阅读相同的消息 每个过程的对帐。 2)不确定如何聚合从这两个主题读取的消息,然后执行对帐? 3)在我需要重新执行对帐的情况下涉及的挑战?
Kafka是否意味着使用商店来放置可用于对帐的消息/数据,或者我需要寻找其他我需要推送消息的商店,我可以用它来执行对帐?如果是这样,我可以在这种情况下使用哪种商店?
任何指针都会有所帮助吗?