Microservices 微服务体系结构中服务总线的用例

Microservices 微服务体系结构中服务总线的用例,microservices,servicebus,Microservices,Servicebus,我正试图学习如何根据微服务的基本原理和考虑因素来构建业务应用程序。我遇到了一个我有点困惑的问题 在一个微服务架构中,有多个微服务和它们自己的数据库,如果数据需要在彼此之间共享,那么提供的方式应该是什么,服务总线还是通过HttpClient调用它们? 我知道,通过服务总线的消息队列,每当需要与其他人共享消息时,一个微服务可以发布该消息,然后所有订阅者都可以检索该消息,但在这种情况下,如果该信息也需要存储在其他微服务应用程序的数据库中,这会不会成为冗余数据? 因此,仅通过HttpClient在需要时

我正试图学习如何根据微服务的基本原理和考虑因素来构建业务应用程序。我遇到了一个我有点困惑的问题

在一个微服务架构中,有多个微服务和它们自己的数据库,如果数据需要在彼此之间共享,那么提供的方式应该是什么,服务总线还是通过HttpClient调用它们? 我知道,通过服务总线的消息队列,每当需要与其他人共享消息时,一个微服务可以发布该消息,然后所有订阅者都可以检索该消息,但在这种情况下,如果该信息也需要存储在其他微服务应用程序的数据库中,这会不会成为冗余数据? 因此,仅通过HttpClient在需要时读取数据是不够的


期待您的回复,提前感谢您的帮助。

这取决于其他因素,如延迟、冗余和可用性。这两个选项都可以在需要数据时保留冗余数据或REST调用

对直接HTTP客户端调用有效的点包括-

  • 它影响可用性。如果系统发生故障,则会降低总体可用性
  • 它会影响性能和延迟。支持来自服务A的操作需要来自服务B的数据。操作频率非常高。在这种情况下,它会降低性能,增加延迟和响应时间
  • 它不支持连接。所以,你必须操纵数据。这也会影响性能
  • 针对消息总线方法/事件驱动的工作点-

  • 重复数据—因此,增加系统的复杂性以保持同步
  • 它降低了系统的一致性。现在,系统最终是一致的

  • 在系统设计中,没有选项不正确。所有选项都有一些优点和缺点,因此请根据您的要求和系统进行明智的选择。

    是的,我也同意这一点。我想我现在更清楚地考虑到选择服务巴士还是休息电话。谢谢@xs2tarunkukrejai如果您同意,请接受我的回答。提前谢谢。