TDSQL多集群下的自动化和交付
“两地三中心”部署体系
文章图片
“两地三中心”架构顾名思义:在一个城市有A、B两个机房,另一个城市有C机房,在第一个城市中TDSQL数据库实例采用同IDC异步、跨IDC强同步的方式,我们需要在第一个城市将四个数据节点部署在二个机房,其中主节点和一个备节点在一个机房,另外两个备节点在另一个机房。并且在第一个城市和第二个城市的数据库实例间,采用的是异步复制,保障金融城市级高可用容灾。
“两地四中心”部署体系
文章图片
“两地四中心”的架构,是一个自动化切换的强同步架构,对任何数据中心及故障都能30秒内切换,并且数据零丢失,性能也稳定可靠,对业务和用户来说是实现更高的可用性和更低的成本。
TDSQL质量保障服务:
全生产流程自动化巡检
最后,最重要的是我们如何保证TDSQL的交付质量服务的质量。
TDSQL的交付质量通过一个自动化巡检的方案保证。TDSQL自动化巡检方案通过三个维度保障交付质量:
文章图片
监控指标分析
第一个维度基于TDSQL现有的监控中心进行相关指标性的分析,包括当前时刻的指标分析和历史时刻的指标分析。当我们要在验证一个集群是否有问题的时候,往往除了要分析此时此刻的集群是否存在异常和告警、是否存在资源负载过重等情况,还需要分析历史性的问题,比如说在历史过去七天中各个指标的曲线如何。为什么要分析过去历史七天的指标曲线?举个简单的场景案例,例如一个场景在每天下午三点到五点是业务高峰期,在业务高峰期期间可能有很多业务的慢查询,甚至有一些慢查询带来的性能的问题。系统如何监控在历史某个时刻出现的问题?那么我们发起自动化巡检方案的时候,比如是上午8点钟,适逢业务低峰期,此时是发现不了问题的,所以我们需要对历史指标进行分析。
方案中具体分析的指标包括检测前台连通性、实例的复制方式、主备切换方式等。监控主要分为两个方面:第一是监控指标的采集、上报、搜集,这是监控中心负责。第二是对监控数据进行分析,并对认为异常的分析进行告警。分析和告警过程中会遵循一定的策略——怎样的监控数据才是异常、有必要告警的?当前TDSQL维护了一套告警模板,也给客户提供了可配置的、定制化的选项,客户可以根据自己的实际情况进行告警策略的修改;同时提供基于实践经验积累的告警策略对比,以防用户做出不合理的修改,暴露告警策略的潜在风险。
在这个维度,TDSQL多源同步等模块可以对数据同步情况进行监控,他们当前同步的稳定性、同步的性能如何,等其他就是各个模块的告警的监控指标。
集群环境扫描
第二个维度是对第一个维度的补充。第二个维度的分析是机器级的,不是通过采集的监控数据,是直接访问服务器后台,对机器级的IO、CPU、内存、磁盘、稳定性等进行检测。
除了机器级和进程级,我们还会进行实例级的定制化扫描,这个体现在实例体检模块——实例的体检就是TDSQL智能诊断分析平台“扁鹊”的接口,可以为实例提供从运营、开发、性能等各个指标的系统性分析。
集群级层面,我们会关注这个集群各个机器之间是否是同步、实例下元数据集群是否是有备份、备份是否是正常等。
自动化演练
在我们以各个维度去扫描当前集群没有问题的情况下,TDSQL还会从结果出发,对整个集群做一次P0级别的自动化演练,演练的场景就是我们正常运营和管理的场景,包括购买实例、创建用户、用户授权、创建库表,在这个库表上做一些表结构的变更、水平扩容、垂直的扩容、多重备机、慢查询入库、备份和回档等。最后系统会对购买的实例进行删除,实现对P0级别的场景进行闭环的自动化演练。
总结来说,TDSQL自动化巡检方案从指标级,到整个集群环境进行扫描,以及通过自动化演练这三个维度确保整个交付的集群安全、稳定、可靠、高可用。
除了技术上的保障方案,TDSQL同时沉淀了大量产品化工作,帮助用户快速、方便地使用分布式数据库。
文章图片
我们也会对客户信息进行定期维护,首先对客户定期发起集群的巡检,通过这个巡检可以保证客户当前以及历史一段时间内环境是没有问题的。巡检主要进行功能性和容灾性的演练,通过自动的定期巡检,管理系统如果扫描到有建议客户要升级的版本,则会自动推送到客户代表,由客户代表推动客户升级。
文章图片
最后,在客户日常运营、日常变更中,可能运营面临的大部分问题是怎么扩容、升级、处理告警?TDSQL对各个节点的扩容提供了自动化的扩容方案,可以一键扩容。同样升级也是提供了前台化一键操作的功能,既可以进行点对点升级,也可以进行整个集群的批量升级。TDSQL的高可用性一方面在于自身的弹性架构和容灾能力,以及数据强一致性。
文章图片
可用性方面TDSQL提供了自动化告警处理方案,可实现自动化告警分析,并对部分告警自动处理,减少现网运营的工作量。
以上我们以交付为核心介绍了TDSQL在历史过程中遇到的几个交付上的挑战,和针对这些交付挑战,我们提出的自动化交付方案,以及最后对整个TDSQL标准化交付的质量和客户服务提供了一系列机制和能力方面的提升。
【TDSQL多集群下的自动化和交付】以上是今天的分享,谢谢大家!
PartⅣ Q&A
Q:TDSQL支持数据库离线备份吗?
A:TDSQL支持多种备份方式,可以基于物理式的备份,也可以基于逻辑备份。整个备份过程在备机上进行,不会影响正常的业务访问,也不会对业务访问的性能带来影响。
Q:TDSQL的告警信息如何接入短信、语音、邮件告警平台?
A:TDSQL的告警接入比较灵活,首先TDSQL的告警信息是文本的形式,可以发送到任何平台,当前客户已经适配过的告警接入方式有很多,比如说客户有HTTP接口的告警平台,也有一些其他接口的。根据客户想要的接口,TDSQL可以对应地发一个包,包含了告警信息,发到你的告警接收平台就可以了。
推荐阅读
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 爱就是希望你好好活着
- 昨夜小楼听风
- 知识
- 死结。
- 我从来不做坏事
- 烦恼和幸福
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- Linux下面如何查看tomcat已经使用多少线程
- 说得清,说不清