例如,微服务A具有DB A,微服务B具有DBB。现在,微服务B希望从A获得一些共享数据。我们如何处理这种情况?
答案 0 :(得分:1)
微服务B可以进行同步调用以获取所需的数据。 (例如REST调用)如果微服务B经常需要此数据,则最好避免同步调用以避免网络成本。
在这种情况下,建议使用事件驱动的体系结构复制数据。采用这种架构,微服务A中的数据更改会发布到像Kafka这样的消息代理,然后由微服务B使用。微服务B会使用微服务A的事件信息来更新自己的数据库。通过这种方式,也避免了耦合。
答案 1 :(得分:0)
他们使用通信协议,例如HTTP。
答案 2 :(得分:0)
每个微服务都需要拥有自己的数据库架构,并且只能查询自己的数据库架构。在这种情况下,由于微服务B需要从DB-A获得数据,因此微服务A需要通过Rest Api公开此数据,然后,微服务B需要调用Rest Api来从DB-A获取数据。