连云港网站建设方案,权威的唐山网站建设,婚礼网站有哪些,简易网站的html代码本文主要以OceanBase部署来说明分布式系统容灾部署方案 分布式系统提供持续可用的服务尤为重要。
好的分布式系统根据需求提供不同等级的的高可用与容灾级别。
而在分布式系统中#xff0c;数据库系统又是最核心最关键的系统。
我们以数据库分布式系统为主#xff0c;考虑… 本文主要以OceanBase部署来说明分布式系统容灾部署方案 分布式系统提供持续可用的服务尤为重要。
好的分布式系统根据需求提供不同等级的的高可用与容灾级别。
而在分布式系统中数据库系统又是最核心最关键的系统。
我们以数据库分布式系统为主考虑其容灾部署方案。
数据库分布式系统容灾部署方案首先需要满足足业务服务延时的需求然后需要满足我们约定的容灾原则再有就是灾部署需要较多物理资源需要尽可能通过技术降低使用成本。
根据经验容灾需要遵守以下原则 RPO等于0可以保证数据不丢 RTO为秒级在发生故障后恢复服务时间尽可能短 分布式系统通过多副本提供高可用 通过多数派一致性协议保证多副本数据一致性 根据以上容灾部署原则我们讨论几种的容灾部署方案 同机房三副本 同城三机房三副本 两地三中心三副本 两地三中心五副本 三地三中心五副本 三地五中心五副本 容灾部署中基本概念 地域指数据中心所在的地理区域通常按照数据中心所在的城市划分。例如华北1青岛地域表示数据中心所在的城市是青岛。 容灾部署方案中机房与中心均指数据中心IDC。 容灾部署方案中Zone为一个逻辑概念表示集群内逻辑划分的一组节点。如属于一个机架的一组节点属于一个数据中心的一组节点。
考虑网络延时以下为一组IDC间的网络延时 同城延时2ms 相邻异地延时8ms 远程异地延时30ms
可以看到相邻异地延时与远程异地延时都非常高一个事务包含6~15条SQL语句累计耗时非常高所以一定要提前考虑好业务对服务延时的需求与业务SQL优化等问题。
同时为了降低成本可以考虑 部署日志副本替代全功能副本 部署仲裁服务替代全功能副本
方案对比 容灾方案 网络延时 容灾级别 RPO RTO 部署成本 同机房三副本 1ms 机器/机架 0 8s 内 1个IDC6个节点 同城三机房三副本 2ms 机房 0 8s 内 3个IDC6个节点 两地三中心三副本 2ms 机房 0 8s 内 2个城市3个IDC6个节点 两地三中心五副本 2ms 机房 0 8s 内 2个城市3个IDC10个节点 三地三中心五副本 8ms 地域 0 8s 内 3个城市3个IDC10个节点 三地五中心五副本 8ms 地域 0 8s 内 3个城市5个IDC10个节点
同机房三副本
这一方案可用于非生产环境同时可以支持机架容灾级别。 1个机房3个Zone3个副本 业务容忍同机房数据同步延时 部署 1个数据中心机房 3个Zone 2 * 3 6个节点 1个机房按照机架部署3个Zone 容灾 单节点故障不丢数据服务可用服务延时不变 单Zone故障不丢数据服务可用服务延时不变 成本优化
同城三机房三副本
这一方案支持机房级容灾。 1个城市3个机房3个Zone3个副本 业务容忍同城数据同步延时 部署 3个数据中心机房 3个Zone 2 * 3 6个节点 同城3个机房每个机房部署3个Zone 容灾 单节点故障不丢数据服务可用服务延时不变 单Zone故障不丢数据服务可用服务延时不变 单机房故障不丢数据服务可用服务延时不变 成本优化 为了降低成本第三机房部署仲裁服务无需同步日志。
两地三中心三副本
两地三中心是一类实现高可用和异地容灾的部署模式这种模式也是监管机构对金融行业数据中心的基本要求。
相比传统金融业的两地三中心一主一备一冷备提供RPO0RTO在8秒内。传统部署很难做到RPO0也很难在秒级内恢复服务。 2个城市3个机房3个Zone3个副本 业务容忍同城数据同步延时 部署 3个数据中心机房 3个Zone 2 * 3 6个节点 主城市2个机房备城市1个机房每个机房部署一个Zone 容灾 单节点故障不丢数据服务可用服务延时变大 主城市单机房故障不丢数据服务可用服务延时变大 成本优化
两地三中心五副本
这一方案是两地三中心三副本部署方案的进化用于解决两地三中心三副本部署方案在多副本所在城市发生机房故障时引入的事务提交跨城市问题 。
这一方案可以在备城市建立备用集群做到有损地域容灾。 2个城市3个机房5个Zone5个副本 业务容忍同城数据同步延时 部署 3个数据中心机房 5个Zone 2 * 5 10个节点 主城市2个机房分别部署两个Zone备城市部署一个Zone 容灾 单节点故障不丢数据服务可用服务延时不变 单Zone故障不丢数据服务可用服务延时不变 两Zone故障不丢数据服务可用服务延时变大集群降级为3副本服务延时不变 单机房故障不丢数据服务可用服务延时变大集群降级为3副本服务延时不变 单地域故障主地域故障会丢数据服务不可用备地域故障不丢数据服务可用服务延时不变 备用城市建设一个独立的 3 副本集群做为一个备库从主库 异步同步 到备库。一旦主城市遭遇灾难备城市可以接管业务。有损地域容灾 成本优化 为了降低成本可以分别将 IDC1 和 IDC2 的各 1 个副本部署为日志副本。日志副本不提供服务仅仅接受日志用于故障恢复从而只需要存储并服务 3 份数据。 为降低成本Region2可以只部署仲裁服务无需同步日志。
三地三中心五副本
两地三中心部署方案的问题在于不支持异地容灾。为了支持地域级无损容灾至少需要 3 个地域. 3个城市3个机房5个Zone5个副本 业务容忍异地数据同步延时 部署 3个数据中心机房 5个Zone 2 * 5 10个节点 每个城市一个机房相邻两个城市的机房分别署两个Zone剩下一个城市的机房部署一个Zone 容灾 单节点故障不丢数据服务可用服务延时不变 单Zone故障不丢数据服务可用服务延时不变 两Zone故障不丢数据服务可用服务延时变大集群降级为3副本服务延时不变 单机房故障不丢数据服务可用服务延时变大集群降级为3副本服务延时不变此时跨地域容灾RPO不为0 单地域故障不丢数据服务可用服务延时变大集群降级为3副本服务延时不变此时跨地域容灾RPO不为0 成本优化 为降低成本Region3 可以只部署日志型副本只有日志。
三地五中心五副本
与三地三中心五副本相比该部署方案进一步强化机房容灾能力。单机房故障不影响服务。 3个城市5个机房5个Zone5个副本 业务容忍异地数据同步延时 部署 5个数据中心机房 2 * 5 10个节点 两个相邻城市每个城市部署两个机房剩下一个城市部署一个机房每个机房部署一个Zone 容灾 单节点故障不丢数据服务可用服务延时不变 单机房故障不丢数据服务可用服务延时不变 两机房故障不丢数据服务可用服务延时变大。集群降级为3副本服务延时不变 单地域故障不丢数据服务可用服务延时变大集群降级为3副本服务延时不变此时跨地域容灾RPO不为0 成本优化 为降低成本Region3 可以只部署日志型副本只有日志。 为降低成本Region3 部署仲裁服务以降低成本无需同步日志。
总结
分布式系统容灾部署需要考虑众多因素 服务响应延迟要求 服务容灾级别、RPO、RTO 服务部署成本
权衡以上因素选择合适的容灾部署方案。
考虑大部分应用需要做到机房级IDC容灾同时要求服务响应较快可以使用 两地三中心五副本 容灾部署方案。如果资源有限应用可以容忍故障期间延时变大可以采用 两地三中心三副本 容灾部署。
参考 ECS的服务地域 OceanBase 集群高可用方案简介 OceanBase 容灾部署方案