加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

京东数据库智能运维平台建设之路

发布时间:2018-08-27 16:19:59 所属栏目:编程 来源:京东商城技术架构
导读:运维自动化来源于工作中的痛点,京东数据库团队面对的是商城成千上万的研发工程师,这种压力推动我们不断变革,然而变革不是一蹴而就,也经历过从手工到脚本化、自动化、平台化、智能化的艰难转变,所以说是需求在驱动运维体系的建设,而运维自动化的真谛

作为切换系统的核心组件,分布式检测功能主要解决系统容灾方面的问题。按照京东数据库服务器多数据中心部署的特征,独立的数据中心各部署了一个检测节点,并通过特殊标识的接口域名区分。当发生切换操作时,切换系统会根据传入的故障主机IP等信息,随机选取两个机房接口执行调用,探活操作如果发现有一个节点主机存活,那么认为主机存活;如果发现两个节点都探测为宕机,那么认为主机宕机。

(2)Master故障切换

主库实例故障,切换系统会首先通过分布式检测系统检查实例存活状态,确认宕机后将根据基础信息中的实例切换标识,选择使用自动切换或手动切换,两种切换方式原理相同:先在切换系统上创建切换任务,手动切换需要DBA执行切换按钮,切换操作会通过insert方式插入数据以验证实例运行状态,避免实例夯住和硬盘只读的情况。如果没有存活的从库,则放弃本次操作并以邮件和短信的方式通知DBA。新主库是按照先本地(先连接数少,后QPS负载低),后异地的原则选择,执行切换成功后将变更相应元数据信息,示例如下:

某一主四从的集群,主库 10.66.66.66:3366故障,需要切换,如下:

京东数据库智能运维平台建设之路

  • 监控系统检测到主库宕机,则自动创建切换任务,进行自动切换或者手动切换,以手动切换为例: 

京东数据库智能运维平台建设之路

  • 选目标实例,假如例子中的4个从都是存活的,那么根据先本地后异地原则,选出10.66.66.68:3366,10.66.66.69:3366,然后再去查连接数,在连接数都相同的情况下,则去比较QPS,选出QPS负载低的10.66.66.69:3366作为目标实例:

京东数据库智能运维平台建设之路

  • 切换完成结果: 

京东数据库智能运维平台建设之路

(3)Slave故障切换

从库实例故障,将故障实例下的域名变更到该集群下的非故障实例上,选择目标实例方式与主库实例选择规则一致。切换成功或失败都会发邮件及短信告知相应的DBA。故障实例恢复后,DBA判断是否需要回切。示例如下:

有一主四从的集群,从库 10.88.88.89:3366故障,需要切换,如下:

京东数据库智能运维平台建设之路

监控系统会自动创建任务,并根据先本地后异地原则,然后再查连接数、QPS,确定目标实例为10.88.88.88:3366,进行自动切换,DBA可在切换任务列表查看详情。

京东数据库智能运维平台建设之路

切换成功的任务会显示回切按钮,DBA可以执行回切,并查看回切的具体信息。

京东数据库智能运维平台建设之路

(4)主从计划性切换 

主从计划性切换实现了按单集群,多集群的批量切换。执行批量切换时可以查看子任务切换的具体步骤,切换后会有前后架构的对比,具体示例如下:

集群1

京东数据库智能运维平台建设之路

批量创建任务,选择原则根据先本地后异地,先连接数后QPS,10.66.66.66:3366选择目标主库为:10.88.88.89:3366。

批量执行切换:

京东数据库智能运维平台建设之路

切换子任务详细信息,可查看到每个子任务的切换结果,执行步骤及前后架构:

京东数据库智能运维平台建设之路

京东MySQL数据库切换系统各功能模块都已组件化、服务简化了DBA的操作流程,缩短了数据库切换的时间。

5、数据库自动化备份恢复

(1)架构设计  

京东数据库备份系统在设计之初,就是为了将DBA从繁杂的备份管理工作中解脱出来,实现自动处理,减少人为干预,并提高备份文件的可用性。关于备份文件可用性问题,以轮询恢复的策略确保每个集群在一个周期内都被恢复到。系统架构设计如下图所示:

京东数据库智能运维平台建设之路

架构具备以下几个特点:

调度触发多样化 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读