互联网公司网站建设ppt模板下载,企业vi设计的基本要素,广州网页制作网站维护,郑州企业网站建设团队APIRouter #xff1a; 路由分发服务 API Router 是一个 HTTP 反向代理和负载均衡器#xff0c;部署在公有云中作为 HTTP API 流量的入口#xff0c;它能识别 出流量的归属 shard #xff0c;并根据 shard 将流量转发到对应的 ezone 。 API Router 支持多种路由键 路由分发服务 API Router 是一个 HTTP 反向代理和负载均衡器部署在公有云中作为 HTTP API 流量的入口它能识别 出流量的归属 shard 并根据 shard 将流量转发到对应的 ezone 。 API Router 支持多种路由键可以 是地理位置也可以是商户 ID 订单 ID 等等最终由 API Router 映射为统一的 Sharding ID 。 Global Zone Service 全局状态协调器 GZS 维护着整个多活的路由表其他所有的服务都从 GZS 订阅路由信息。切换机房的操作也在 GZS 控 制台中完成。路由表包括地理围栏信息 shard 到 ezone 的归属信息商铺 ID 订单 ID 等路由逻辑 层到 shard id 的映射关系等。 GZS 通过在 SDK 端建立 Cache 来保证 shard 逻辑能够最快速度执行 基本不需要和 GZS 交互同时也有实时推送机制确保在数据变更后能够快速通知到其他的服务。 SOA Proxy 内部网关 SOA Proxy 实现了对 SOA 调用的路由执行和 API Router 相似的逻辑但只用在机房之间进行通信的 场景。业务使用 SOA Proxy 需要对代码做一些修改把路由信息加入到调用的上下文中。 Data Replication Center 数据复制 DRC 负责 Mysql 数据的实时双向复制保证跨机房延时在 1s 以内。提供了基于时间的冲突解决方案 确保各个机房的数据一致。 DRC 除了复制数据还对外提供了数据变更的通知让业务能够感知到其他 机房的数据变化做相应的处理例如清除 Cache 等。 除了 DRC 我们还有 ZK 复制工具 RMQ 复制工具 Redis 复制工具基本每个数据层次都有对应的 复制方案。 Data Access Layer 数据访问 数据访问层支撑了 Globa Zone 的逻辑还提供了最后一道保护拒绝路由错误的数据写入是多活最 底层的支撑。 Mysql 数据复制工具 DRC: Mysql 的数据量最大每个机房产生的数据都通过 DRC 复制到其他 ezone 每个 ezone 的主键取值 空间是ezoneid 固定步长所以产生的 id 各不相同数据复制到一起后不会发生主键冲突。按照分区 规则正常情况下每个 ezone 只会写入自己的数据但万一出现异常 2 个 ezone 同时更新了同一笔 数据就会产生冲突。DRC 支持基于时间戳的冲突解决方案当一笔数据在两个机房同时被修改时最 后修改的数据会被保留老的数据会被覆盖。 整体结构 推荐阅读 设计异地多活的实现思路和方法