独立的生产者和消费者微服务



事件驱动架构的新增功能。我想创建一个微服务,它从谷歌云Pub/Sub主题中读取,处理消息,然后将消息放在其他服务的内部Kafka主题上。

我的问题是,单个微服务应该处理消费、处理和产生消息,还是我应该有单独的微服务来消费和处理/产生消息。

例如,1个单一的阅读器微服务,负责阅读谷歌云Pub/Sub主题并将其放在内部主题上。第二个处理微服务(可以放大(,它读取内部主题,处理消息并将其放到处理过的主题上。我认为这个选项的好处之一是,任何处理问题都不会影响从谷歌云获取消息。

如有任何关于最佳实践的建议,我们将不胜感激。

理想情况下,您尽可能地限制处理-要么在Pubsub中处理,然后复制"良好数据";,或者创建";着陆区主题";对于Kafka中的每个Pubsub主题,并在Kafka内处理所有。。。

但是,您可以使用Kafka Connect作为复制部分,它提供了称为转换的最小消息处理功能

最新更新