【发布时间】:2016-10-21 06:49:30
【问题描述】:
我即将学习微服务架构的工作原理。到目前为止,我认为每个微服务都需要自己的数据库,这是有道理的。
假设我们有一个客户微服务,它负责创建客户并返回客户列表。该服务将拥有自己的客户数据库。
假设我们在此服务上的负载非常高,因此我们选择横向扩展 20 倍。
我们有 20 个微服务,每个都有自己的数据库,所有服务都位于负载均衡器后面。
现在一个客户想要创建一个客户,负载均衡器向服务 9/20 发送客户请求,客户就创建好了。
在下一个请求中,同一客户希望确保已创建客户并希望查看客户列表,LB 在 11 月 20 日将其发送给服务。
现在我如何确保服务 9/20 将新创建的客户同步到服务 11/20 的数据库?
在 MSSQL 中,有一些功能可以在允许初始提交之前保持数据库同步,首先将数据保存在所有其他数据库中,但从长远来看,这种方法会产生问题,因为服务越多,时间越长提交需要花费多少时间?
【问题讨论】:
标签: architecture microservices