随着业务对持续性要求越来越高,云上不少企业对跨AZ或多地域的容灾建设有强烈的诉求。当企业内部经过评估选定容灾建设整体方向,即同城双活;需要对方案进行验证,包括组件容灾能力建设,数据同步以及切换验证等。通常对组件容灾能力建设和验证会花费大量时间,如果测试不符合预期,对之前调研、部署以及测试人力和时间成本带来较大耗费。因此借助云平台能力“一站式”提升系统容灾能力,助力企业降本增效。
本文也平台容灾能力建设优势、云上容灾典型方案以及一站式构建三个方面来进行详细的说明。
1.云平台容灾建设的优势
借助云平台能力有效提升容灾建设效率,同时能减少建设成本。
1)降低容灾建设的技术门槛。云上核心产品拥有跨地域或者跨可用区容灾能力,减少企业对众多开源方案的依赖和研究,同时还能得到云产品的SLA稳定性的保障。
2)组件HA切换能力建设。云平台上跨地域或AZ故障,均支持自动切换;无需企业对组件HA自动探测和切换能力建设以及后续维护成本。
3)数据同步稳定性保障。数据同步稳定性对容灾建设不言而喻,云上有成熟数据同步工具以及具备跨地域或AZ级别实例;企业不需要维护开源社区同步工具。
4)监控告警能力建设。云上跨AZ或地域实例均有配套的监控告警。
5)降低企业人力成本。云上通过控制台便捷的操作,一站式进行容灾建设;同时减少对社区开源软件维护以及二次开发的人力成本。
2.云平台容灾解决方案
2.1 同城双活(单写)
同城双活单写,本身对业务依赖较少,相对于双写数据库更依赖于业务,因此云平台对同城双活单写方案更加友好。以腾讯云为例,构建同城双活的数据库单写整体业务部署架构:
2.2 异地灾备
异地容灾主要满足客户数据安全需求。以腾讯云为例,构建异地灾备整体架构:
3.一站式构建容灾能力
关于云上容灾能力概况,以腾讯云为例如下:
产品 | 多可用区实例 | 多地域实例 |
---|---|---|
CLB | 1.控制台支持购买多可用区实例。 2.单AZ实例不支持升级多可用区实例。如果客户端对CLB的vip有写死情况,建议对业务进行域名调度。 3.官方说明:https://cloud.tencent.com/document/product/214/8093 | 建议不同地域分别购买公网入口CLB |
CVM | 同业务同AZ对CVM进行亲和性打散,使用置换群组功能降低宿主机故障对业务影响 | 同左 |
ckafka | 1.控制台支持购买多可用区实例,对新增业务直接购买。 2.单AZ实例不支持升级多可用区实例,这里需要对ckafka的数据迁移到多可用区。迁移参考https://cloud.tencent.com/document/product/597/17272 3.官方说明:https://cloud.tencent.com/document/product/597/52786 | 使用ckafka connecntor进行地域间数据同步,当前腾讯云可以通过api来进行操作,控制台暂不支持。 |
tdmq | tdmq天然具备跨az容灾能力 | 不同地域可以通过异步复制同步数据 |
es | 1.控制台购买多可用区实例,对新增业务直接购买。 2.单az实例控制台均支持升级为跨可用区能力。 3.官方说明:https://cloud.tencent.com/document/product/845/35551 | 1.es社区的ccr官方方案进行地域间数据同步 2.es版本要求6.7以上,同时为白金版本 |
redis | 1.对于新增实例,在控制台直接购买多可用区实例。 2.对于存量单az实例,在控制台进行增加不同可用区副本来升级 3.当前跨az实例,当前不支持副本只读。 4.官方说明:https://cloud.tencent.com/document/product/239/51090 | redis全球复制当前内部测试中,待上线 |
cdb | 1.控制台购买多可用区实例,对新增业务直接购买。 2.单az实例控制台均支持升级为跨可用区能力。 3.官方说明:https://cloud.tencent.com/document/product/236/8459 | 控制台支持异地灾备实例 |
tdsql | 1.控制台购买多可用区实例,对新增业务直接购买。 2.单az实例内部提工单支持升级为跨可用区能力。 | 控制台支持异地灾备实例 |
cos | 1.北京&广州新增cos控制台已支持多az部署实例。 2.存量单az存储桶,通过存储桶复制到多az存储桶,参考:https://cloud.tencent.com/document/product/436/38227 | 通过异地复制功能实现数据同步 |