微服务架构下的事件驱动的主从复制具体应该如何做?

我看了

https://microservices.io/patterns/data/event-driven-architecture.html

https://medium.com/trendyol-tech/event-driven-microservice-architecture-91f80ceaa21e

https://medium.com/@john_freeman/querying-data-across-microservices-8d7a4667668a

等等,

搜索了 how to do data replication in mysql microservices,microservice data replication which is master which is slave 。

等等

=====================================================================

只看出来事件驱动能解决不同服务的耦合问题,能实现松耦合,然后事件驱动的数据最终一致性问题可以由主从复制来实现。我以前不知道什么是主从复制,我搜了下,发现就是一个 master 库一个 slave 库,配好了,自从从 master 库同步到 slave 库。

现在问题来了,假如我有 4 个微服务,1 个 order,1 个 product,1 个 shipment,1 个 pay,那么假如,order 微服务需要 product 微服务的数据库数据,那么我就在 order 微服务下创建一个 product 微服务数据库的 slave 库?如果这样,order服务就有2个数据库,查起来也不方便啊。怎么办啊?

阅读 2k
1 个回答

两个数据库并不能解决数据不同步的问题吧?
我的理解是数据从master同步到slave。那么所有的读取都应该从slave读取。所有的更新都应该操作master。
你更应该想清楚你这么做的目的是要实现松耦合,还是数据一致性?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题