Geo-Distributed

地理分布式

定义

Geo-Distributed(地理分布式)指平台在多个地理区域部署节点,实现 Region-Aware 路由、就近接入、负载分散,降低端到端时延、提升可用性、满足 Data Residency 合规。与 Multi-Region 多区域、Edge Location 边缘节点配合,是 ICMP 面向全球客户的基础架构能力。

架构特点

Geo-Distributed 架构的特点包括:多区域部署——在亚太、欧洲、美洲等部署数据中心或云区域;就近接入——客户请求路由至最近区域,降低延迟;数据属地——按 Data Residency 要求将数据存储于指定区域;容灾——结合 Region Failover,单区域故障时切换至其他区域;一致性——跨区域数据同步、一致性协议(如最终一致性)需在架构中考虑。

技术挑战

Geo-Distributed 面临:跨区域延迟、网络分区、数据一致性权衡;Data Localization 要求下,部分数据不能跨区复制;运维复杂度增加,需统一监控、配置、发布。平台需在架构设计时权衡一致性、可用性、分区容错(CAP),选择适合的复制与同步策略。

在 ICMP 中的实践

达希物联 ICMP 采用 Geo-Distributed 架构:Multi-Region 多区域部署;Edge Location 与 CDN 加速全球访问;支持 Region Failover 容灾;满足 Data Residency 与 Data Localization 合规。客户可享受低延迟、高可用的全球服务。

地理分布把控制面拆到多个区域

地理分布是把平台的控制面和数据面放到多个区域,让访问进入附近的区域,并在某一区域不可用时还有别的区域继续服务。控制面包括账户、权限、卡状态和计费规则;数据面包括用量写入、事件推送和文件分发。拆开之后,每个区域都能接收请求,但一张卡的权威状态仍然只能有一个主区域,否则两个区域会同时批准互相矛盾的暂停和启用。

就近路由依赖租户配置,而不是依赖操作员当前的网络位置。某客户约定数据在欧洲,人在出差途中登录,请求仍应进入欧洲的权威副本,顶多在边缘做接入。把操作员就近写成数据就近,属地会随登录地点漂移。区域之间的延迟是设计的一部分,跨区读取比区内读取慢,不能用单区测试的响应时间要求跨区强一致读。

跨区复制可以开启的数据类别

可以跨区复制的,是不含个人数据、也不受本地化限制的对象:公开的接口说明、安装包、与租户无关的系统配置模板。受合同或法规约束的详单、位置、联系人和账单底稿,只能复制到该客户允许的区域。复制名单要按数据类别列,而不是按“整个数据库”开关。开了整库复制,约束数据和公开数据会一起离开主区域。

最终一致适用于允许短暂滞后的只读视图,例如全局用量看板。启用、终止和权限变更需要权威区域确认,不能在每个区域各写一份再期待稍后合并。与数据本地化冲突的复制任务应在架构上不存在,而不是靠操作员记得不要查询。和区域切换一起设计时,备用区域必须已经在允许名单里,否则故障时没有合法的写入目标。监控可以汇总各区的健康状态,但汇总数据里不要带上卡级明细。

分区期间仍按单区强一致写

区域之间的网络断开时,系统无法再维持跨区的即时一致。此时若每个区域仍接受写、并假设其他区域会看见,恢复连通后两笔更新都会保留或互相覆盖。卡会在一边是暂停、另一边是在用。分区期间的稳妥做法,是只允许权威区域写入;非权威区域拒绝写或只读,等分区结束后再同步。这会降低可用性,但是避免分裂状态。

错误做法是把单区时期的锁和事务原样套到跨区路径上,请求一直等到超时,客户端重试又在另一个区域创建第二笔订单。应用要能识别“当前区域不是权威”和“权威暂时不可达”,并给出可重试的结果,而不是返回成功。恢复之后要有冲突检查:同一卡在分区窗口内的状态变更按权威区域的日志重放,不能按时间戳简单取最新,因为两边时钟并不可比。演练分区时应使用隔离流量,避免生产写入进入只为演练准备的区域。地理分布提高的是放置和故障时的选择,不是让每一笔写在所有区域同时成功。

每个区域的发布版本要能单独识别。全局同时升级时,一个区域失败会让路由把用户送进半新半旧的服务,字段对不上。应按区域推进,并在路由里暂时不把新流量送进尚未完成的区域。配置同步若包含租户的区域选择,不能被模板覆盖成默认区域。分区演练之后检查权威标记:只能有一个区域接受某租户的写。标记丢了,恢复网络时两边都会写。观测数据可以汇总,但汇总任务从各区拉取的是计数,不是卡级明细。否则地理分布在架构图上分开了,数据却在观测平台重新汇到一处。

相关术语

返回国际物联网云平台专业术语