写作与程序

微服务笔记31:多机房部署实践

2018-11-01  本文已影响1人  胖琪的升级之路

多机房我们需要考虑的以下问题。

多机房负载均衡

最简单的策略是遵循用户就近访问的原则。
实现方式是通过DNS解析到不同的机房,实现方式通过部署四层负载均衡器VIP(基于IP+端口的负载均衡),以及7层负载均衡器Ngnix(基于URL等应用层信息的负载均衡).,7层之后在发送给对应机器上的容器。进行处理请求。

摘自极客时间
理想情况是这样但是会遇到其他情况

多机房数据同步

多机房数据保持同步。
缓存层与数据库层都需要数据同步。
数据库同步一般都是通过Mysql的binlog同步机制实现数据同步。

独立的机房架构

摘自极客时间

利用中间件技术来实现数据同步的问题。
每个机房更新自己的缓存并且从数据库主库同步数据。
中间件怎么实现这个技术呢?


摘自极客时间

多机房数据一致性

通过消息对账机制保证数据的最终一致性。
数据中保持全局唯一的requestId,每个环节全剧唯一的变量始终保持向下传递,成功与失败都记录包含一条requestId和机房处理日志。
日志保存到Elasticsearch 集群上去。找出同一个全局变量requestId的机房处理日志。验证机房是否成功,不成功继续尝试该阶段直到成功。进行保证数据的一致性。

image.png
上一篇 下一篇

猜你喜欢

热点阅读