电商平台年度最大的购物促销活动双11即将开打,去年的双11活动京东单日创下人民币111亿元的营业额,能够撑起庞大的交易流量而保持服务稳定不中断,并非偶然,而是需要靠平时分散维运的工作,不仅如此,京东还定期演练服务中断的应变工作。
京东一年度会有两次大型的促销活动,年中的618和双11活动开跑时,用户会非常集中在单日产生爆量的流量,平台的I/O流量会暴增,若是支付服务停摆1分钟,就会造成业务非常大的损失,且业务繁忙时,每个工程师都会非常紧张,当下才要找问题试图去解决,会需要花费很多时间。
“稳中求进是我们维运的原则,”京东内部多达3万个服务器,超过2,000个数据库,光是维运团队就超过180人,京东金融MySQL维运资深数据库管理员潘娟表示,由于交易平台涉及支付且提供24小时不中断的服务,京东对数据库稳定性和一致性的要求特别高,京东相信预防胜于治疗,因此,将维运的基本功分散到日常的工作,将交易平台服务出状况的风险降到最低。
为了能够打造出高达99.99%的高可用率的系统稳定性,将许多维运的工作,像是业务的评测、监控与预警、压力测试与服务中断预演,以及相关的业务演练等都分散在平时日常的工作来进行,潘娟认为,等到出现问题后,才开始找原因和试图解决问题,需要花费的力气远超过平时维运工作所付出的代价。
新服务上线流程标准化,自动部署不出错
公司内部的研发或是业务团队,若有新的服务或是应用要上线,则需要申请服务器和数据库,京东的规矩是,业务申请人必须填写一张应用服务的记录表格,包含应用需要的数据库容量、业务增长量、I/O流量等资讯,数据库管理人员根据记录表的资讯,会对该服务的规模有初步的了解,接着再与线上正在执行的应用比对,评估新服务所需的服务器规格和数据库架构。
潘娟举例,若新上线的应用规模较小,停机半天也都不会对公司营运有太大影响的应用,像是后台的管理系统,则数据库管理员会选择最简单的架构HDB,可以实现单机多应用,若是非常重要的业务,I/O流量也有一定的要求,就会选择MHA(Master HA)的架构,来确保高可用性,MHA如果监控到Master节点异常,将会把Slave转换成Master,而若是业务量非常大的应用,京东则是另外开发一套CDS的架构。
选定好服务器和部署应用的架构后,数据库管理人员就要负责设置监控和预警的机制,需要保证应用服务24小时都能够正常运行,包括检测应用的存活率、数据库的主从一致性,以及硬盘容量和延迟等讯息。
最后,在服务正式上线前,免不了还需要做压力测试,潘娟表示,京东通常会用该服务平时2~5倍的业务流量来测试,查看服务器和应用会不会出问题,也能检视选择的架构是否满足业务需求,此外,“若该服务与其他服务共存,则要特别小心!”她提醒,测试的过程中也要留意该服务的运行是否会影响到其他原有的服务。
这些检测的工作,都是需要在服务上线前确实落实,她认为,在服务上线前的检测工作,不但可以先找到潜在问题,还能让业务人员和数据库管理人员,对该服务的现况有所了解,即使服务上线后出差错,对数据库管理人员来说,也能够较快地找到问题并解决,而不用从头开始找问题。
服务上线后也不能松懈,灾难演练确保服务中断能迅速恢复
服务上线前,京东不放过每一个细节的检测工作,为的就是确保服务上线后不会有任何问题,但是服务正式上线后,因应业务,数据库会有不少变更,需要扩充容量或是升级等,“通常90%以上的服务,只要变更过,一定会存在许多潜在问题!”潘娟表示,数据库每一次的变更,都是风险,潜在的问题就像定时炸弹一样,早晚都会爆发。
为了不让这些潜在的问题突然爆发,而且突然出现问题时,维运人员也往往会措手不及,于是,京东在服务运行的日常中,就安排了服务的离峰时段,大约是凌晨3~5点的时间,在不影响服务的原则下,将主服务停掉,切换到异地防灾备援的服务器上运行,确保主服务停机时,服务可以顺畅且快速地恢复,确认没有问题,才又将主服务切换回来。
“刚开始这样做时,业务人员很不能理解,”她表示,业务人员质疑为何服务明明能够正常运行,却要三更半夜做服务中断的演练,也会影响到原本的服务,但是,京东的维运部门坚持,只要变更过的数据库,没有办法百分之百确认数据库没有异常,如果服务真的中断了,需要恢复却发现无法恢复时,代价就更大了。
因此,京东坚持在线的服务,都必须定期安排灾难演练,模拟服务不可用的情况下,能不能及时恢复服务,以及恢复服务需要花多久的时间,京东是由系统分析师、数据库管理员,以及研发服务相关的工程师组成一个团队,来负责灾难演练的工作。
况且,潘娟表示,若服务平时没有经过演练,业务人员和维运部门团队人员的流动,也很容易造成服务中断时,没有一套标准的流程可以依循,“我们希望将一切未知变得可知。”她说。
如何打造一套维运标准化流程?以灾难演练为例
过去京东的维运工作没有标准化的流程,导致难以管理,出现问题也不容易快速找到问题的根源,潘娟表示,京东从2016年7月到今年5月这段期间,开始重整维运架构,建立出一套维运的标准化流程,尽可能在问题发生前先预防。
京东的灾难演练分为两类,一个是同机房的演练,也就是假设在北京的机房有主和从数据库,主数据库当机了,要马上切换到同机房的从数据库,另一种则是异地机房的演练,如果北京机房的数据库都不可用了,维运部门能不能迅速地切换到上海,或是其他地方的机房,来提供相关的服务。
为了做防灾演练,数据库管理员必须先做许多事先的准备工作,包括整理数据库的分类、每个应用和服务的相对应关系,也要确认好每次测试的应用演练范围,以及将所有的应用都建立异地备援的机制,最后因为京东的服务和应用非常多,不可能用手动的方式完成部署,数据库管理员还需要撰写自动化的程式来执行相关任务。
将基础的工作准备好之后,维运团队要一起讨论并制定出灾难演练的计划,将所有的流程标准化,如此一来,新进的维运团队人员也可以依循着既定的工作流程执行任务,最后还需要跟业务部门的人员协调,在服务流量最低的时间点来执行演练,演练过程需要确认的内容包括,确认数据库、系统配置讯息、主从数据库一致性、防火墙的权限,潘娟表示,所有的服务的相关讯息都会检查一遍,经过灾难演练后就会发现一些隐藏的问题,像是服务的一些功能模组没有升级、权限设置有问题,或是程式码有问题等。
她也提醒,应用在一开始就需要考虑用自动化来维护服务正常运行,有些企业习惯到服务业务量增加到一定的量才来考虑,但是,业务量高速发展时,工程师需要花较多的心力在应用服务当前的问题,没有足够的时间来处理自动化维运的工作,因此,她建议,成长型的业务需要更早是先做好自动化维运的工作,况且,自动化的程式需要真正应用在服务上,经过反复的修改才能完成,并不是短时间一次就能完成的工作。
打造DBA自动化维运和万用流程平台,维运资讯透明化更快找到问题
除了上述的维运基础工和灾难演练之外,潘娟认为,“所有的维运资讯都必须透明化!”京东维运团队打造了DBA自动化维运平台Mega,将资源管控、慢查询、效能优化,服务器负载情形、效能热力图等功能都包含在内,并且每个服务器也会显示维运的负责人、业务类型等相关资讯,方便维运和业务人员有状况时,即时联系到负责人。
除此之外,平台还能显示服务30天内上线的情形,像是数据库的负载,若想查询某个服务器负责哪些应用、负责人等资讯,也只需要输入服务器的编号,就能查询相关的讯息,例如,网域名、主从架构,以及在服务器存放在哪个机房,她认为,将所有的资讯透明化并且方便查询资讯的功能,让维运团队在应用出问题时,可以更方便地查询问题的原因。
有了维运所需的资料之外,京东还发现一个问题,也就是业务研发人员上线新服务时,往往需要找维运部门负责不同工作的工程师协调,不过,研发人员不了解维运的工作,也常常漏掉某些环节,导致应用上线时出现问题。
因此,“京东将维运部门所有业务都统整到单一平台,”潘娟表示,京东为了不让业务人员在协调时造成混乱,建立了万用流程系统MagicFlow,目标就是让维运团队对外是一个单位,研发部和业务部需要协助时,不需要了解维运内部如何协调,只需要按照MagicFlow系统的流程申请,对维运人员来说,也不需要担心自己的任务从谁的手上承接,完成后又要移交给谁负责。
设计MagicFlow系统的过程即是将维运和业务团队的组别负责人找来一同讨论,先收集大家的需求,再将一些大家都会需要使用的功能整理出来,一同协调出共同的标准和流程,并建立模组,如此一来,所有人都能遵循一定的标准化流程申请服务。
最后,经过过去近一年的努力,京东发现应用、数据库和域名等问题并且已完成修复,也开发跨机房切换数据库的程式,总共新建置了206个内部系统灾难备援机制,共完成 284套分批23次的数据库切换演练,“尽可能将维运的基础工作在平时做好,”潘娟强调。
京东数据库防灾演练9大事前准备工作
1 确认主备机房的数据库分级标准
2 梳理数据库分类、主从关系,确认可演练范围
3 建置异地机房备援
4 梳理应用与数据库对应关系和权限验证
5 开发域名切换操作界面
6 编写演练执行程式
7 确定演练方案
8 制定切换演练标准
9 制定演练计划表
资料来源:iThome整理,2017年11月
相关文章
- YouTube更新违反规定政策,提升惩处透明度和一致性
2023-12-31 14:00:52
- 传苹果将把中国iCloud正式交给本地化经营 苹果手机icloud换区存储操作
2023-12-27 18:34:43
- 刘德华代言什么手机?刘德华成华为Mate 60 RS非凡大师华为5G新手机代言人
2023-09-26 21:55:08
- WebOS新系统:Palm Pre手机最新款高价登港
2023-06-23 15:39:14
- 帮助企业组织对抗勒索软件,资安通报机构设立防护专区,可协助事前、事中与事后因应
2023-06-22 09:36:10
- 蔚来全系产品降价3万 取消免费换电 换一次电池180元
2023-06-12 17:27:49
- 电商平台三巨头开打最大规模折扣 价格战再次打响
2023-03-05 18:58:40
- 爱立信节省成本裁员四千人 爱立信全球员工总数五分之一
2023-02-24 22:27:29
- 蜜芽关停近况,八位数重金买三字顶级新域名mia.com也关闭
2023-02-23 16:18:14
- 联想CEO杨元庆:联想集团需要裁员32%削减部分业务支出
2023-02-18 12:45:25
- 蓝色光标2022营收亏损18亿 客户预算减少明显
2023-02-18 12:40:08
- 三星工厂或将80%生产转至越南 因本地劳动力成本上升
2023-02-17 23:09:16
- 香港八达通卡如何激活?没用失效过期余额怎么办
2023-02-17 18:34:51
- 中兴通讯被曝将裁员20% 称只裁国外的
2023-02-17 18:33:26
- 苹果新iPhone15Pro手机终于改用USB-C(火牛)数据线??Lightning充电接口退出
2023-02-17 16:57:22
- 突发!蓝色光标曾为中国民企500强龙头 如今业绩亏损断崖下跌
2023-02-16 14:31:19
- 三星发布自家carplay车载中控系统 Car Mode for Galaxy 可以连接carplay吗?
2023-02-14 00:53:17
- Opera浏览器宣布集成ChatGPT 一键生成网页内容摘要
2023-02-14 00:32:08
- 谷歌google计划重返进入中国市场?但结果可能令你失望
2023-02-13 16:57:15
- Zoom紧急裁员1300人 佔员工总数15%
2023-02-08 14:59:11
最新资讯
- YouTube更新违反规定政策,提升惩处透明度和一致性2023-12-31 14:00:52
- 美国法院裁定阿里须为Squishmallows玩具侵权案答辩2023-12-28 19:59:34
- 小米汽车传员工3700人 雷军称小米汽车不可能卖9万92023-12-28 19:41:57
- 吉利飙逾6% 电动车品牌极氪新车款极氪007昨上市 预售价格22.99万元2023-12-28 19:30:28
- 日本丰田汽车厂11月全球产量创新高2023-12-28 19:26:02
手机
- 中国11月手机出货量增34% 5G手机出货量2709.2万部2023-12-28 19:27:57
- 荣耀发布新一代旗舰荣耀Magic5系列,新款上市价格分期0首付3999元起2023-03-06 16:12:32
- 美国商务部指违禁,长江存储被美国拜登制裁名单面临停工裁员2023-02-17 18:41:53
- 苹果Apple iOS车载系统CarPlay支持哪些更多汽车品牌2023-02-02 17:33:27
- 香港去哪买三星手机回来吗? 买香港便宜售价手机市场地点和网站2023-02-02 11:03:11
数码
- 华为5G芯片正式亮相:预示华为将发首款5G手机2023-08-31 13:22:33
- 腾讯传计划放弃虚拟现实VR硬件计划2023-02-17 23:32:30
- 三星手机份额大跌!三星手机中国市场份额变化国内仅剩3%2023-02-01 17:06:15
- 三星手机份额大跌在中国没市场了!国内市场占有率仅剩1%国外比苹果销量高2023-02-01 16:59:53
- vivo发布2022 vivoNEX手机极简易浏览器下载:简洁流畅无广告!2022-12-02 17:29:30
科技
- 中兴受美国制裁事件 被罚了20亿美元过程事件始末 中兴被制裁后公司现状2023-11-02 22:12:46
- B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因2023-03-06 19:05:55
- 苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓2023-02-19 15:09:54
- 华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?2023-02-17 23:21:27
- google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元2023-02-17 18:58:09