我的团队对于如何使用消息总线构建我们的微服务感到非常震惊。
我们目前有一个API网关,其后面有许多微服务,都通过http进行通信。
在研究消息总线(Kafka)的实施之后,团队对消费者和API是否应该存在于同一服务中,或者它们应该是两个独立的服务感到不满。
有些人认为它们应该是分开的,因为它们有不同的扩展问题,而其他人认为它们应该在同一个服务中,因为它们与同一个数据库进行通信并且具有相同的域关注点。 IE)不在两个服务之间复制代码。
你有什么想法?
答案 0 :(得分:2)
我们更喜欢他们在相同的服务中,因为他们逻辑上在相同的对象上工作。
这在很大程度上取决于您编写业务逻辑的方式。就像我们更喜欢在聚合(域驱动设计)中编写业务逻辑,这就是为什么在同一服务中编写消费者是有道理的。
在某些情况下,他们只是更新数据以搜索各种事物,您可以将它们写在单独的服务中。
您还可以查看Lagom(java的微服务框架)