vlambda博客
学习文章列表

不正常行李处理应用的MySQL高可用架构的设计和落地荣获2019年度信息管理部创新成果金奖


创新—工作常态

创新一词出自《南史·后妃传上·宋世祖殷淑仪》:“据《春秋》,仲子非鲁惠公元嫡,尚得考别宫。今贵妃盖天秩之崇班,理应创新。”

如今,创新多指:以现有的思维模式提出有别于常规或常人思路的见解为导向,利用现有的知识和物质,在特定的环境中,本着理想化需要或为满足社会需求,而改进或创造新的事物、方法、元素、路径、环境,并能获得一定有益效果的行为。

不正常行李处理应用项目组将创新融入到工作中,使之常态化,通过开源技术Keepalived和GTID构建不正常行李处理应用的MySQL高可用性双主架构,为系统的稳定运行奠定基础。


创新背景

不正常行李处理应用是一套7*24小时的生产系统,2016年,国航就“全球行李集中查询工作”召开研讨会,主要解决旅客对行李投诉率高的问题,同时采用全球行李集中查找的方式提升行李查找效率,提升公司在不正常行李处理方面的服务能力,自此不正常行李处理应用应运而生,系统建设之初,仅推广到国航基地分公司使用,截止2019年,该系统已经推广至含本部、分公司、大连航以及内蒙航在内的国内79个航站以及国际6个航站(首尔、蒙特利尔、纽瓦克、法兰克福、纽约、旧金山)。系统用户成倍增加,对系统稳定性的提出了更高的要求。

此外,旅客在目的航站的国航行李查询前台进行申报时,使用不正常行李处理应用系统平均每个旅客的申报记录时间为5分钟以内,如果系统发生故障,转换为原始的手段记录,申报时间将延长为5到10分钟,这样在系统业务中断时间内,服务旅客的数量将减少百余人,此外行李查询前台面积空间有限,延长等待时间会使本来心情不美丽的旅客更雪上加霜。

显然,无论是从系统使用角度还是旅客服务角度,都对系统稳定性有极高的要求,我们知道数据库是系统生存的基础,该系统原来数据库架构是MySQL数据库高可用性架构,该架构原为一主一从,缺点为在主库发生异常时,需人为手动切换,切换期间业务将被迫中断,该架构服务等级SLA为99.9%,业务中断使用时间预估为相近10小时。应用开发中心数据库组牵头,协同地面运行产品线共同商定创新解决方案。

不正常行李处理应用的MySQL高可用架构的设计和落地荣获2019年度信息管理部创新成果金奖

创新解决方案


01


使用开源产品Keepalived构建高可用集群架构;在不增减原有架构服务器的基础上,构建两节点的高可用性架构。通过在两个服务器上引入一个第三方开源监控进程来监控主从库的运行状态。为更精确的监控mysql服务进程,防止网络抖动导致的服务器误切换,监控脚本做了定制化自主开发,通过MySQL库核心主进程监控和SQL命令结果反馈捕捉两种方式共同监控服务器运行状态,当主库发生异常时,通过虚拟路由vrrp协议进行MySQL主服务自动切换至从库,切换过程对业务用户无感知,主从库间的切换在分钟级,不影响业务数据的正常访问。

不正常行李处理应用的MySQL高可用架构的设计和落地荣获2019年度信息管理部创新成果金奖
不正常行李处理应用的MySQL高可用架构的设计和落地荣获2019年度信息管理部创新成果金奖

Keepalived构架的高可用架构

不正常行李处理应用的MySQL高可用架构的设计和落地荣获2019年度信息管理部创新成果金奖

02


主从库间的同步机制引进GTID全局事务标识方式;原来的主从架构为MySQL原生的同步机制,只能单向数据同步,当主从库发生切换后,从库有数据进行更新,主库数据一致性失效,此情况下只能手动重新配置主从库间的同步机制,重配期间,数据库属于单点运行;为了解决此问题,主从库中引进全局事务标识GTID,在主从库上可唯一标识每个Event的事务序号,主从库间的同步不再借助重做日志和数据位置的更新,此场景下,即使发生主从库的切换,也会保证主从库间数据的同步机制。

不正常行李处理应用的MySQL高可用架构的设计和落地荣获2019年度信息管理部创新成果金奖
不正常行李处理应用的MySQL高可用架构的设计和落地荣获2019年度信息管理部创新成果金奖


GTID官网原理图

不正常行李处理应用的MySQL高可用架构的设计和落地荣获2019年度信息管理部创新成果金奖

创新成果展示

首先,数据服务中断时间缩减了9倍左右的时间,极大提高了对业务系统的数据持续服务时间,另外,新架构提供了更加稳定可用的数据服务,提升了数据服务SLA等级至99.99%;同时,避免了人为切换过程中可能发生的误操作。

其次,在实际生产使用过程中,2019年10月中旬发生一次数据库服务器虚拟机异常导致的生产切换,主库切换至备库时,前端应用豪无感知,业务正常使用系统,这样也在实际生产环节中见证了架构的高可用性。2020年不正常行李处理应用计划在国内增加10%-20%的航站,国际使用航站要增加一倍,使用创新型双主数据库架构,奠定系统稳定性基石。

最后,不正常行李处理应用的数据库架构也能推广的到其他的系统中使用,成为其他系统数据库架构的范本。


创新成果奖


2020.1.21

2020年伊始,国航信息管理部技术管理办公室组织进行了2019年度信息管理部创新成果评选,我们的《不正常行李处理应用的MySQL高可用架构的设计和落地》获得了创新金奖。

不正常行李处理应用的MySQL高可用架构的设计和落地荣获2019年度信息管理部创新成果金奖

排版设计:应用开发中心  李颖倩


不正常行李处理应用的MySQL高可用架构的设计和落地荣获2019年度信息管理部创新成果金奖


国航信息E路同行