您好、欢迎来到现金彩票网!
当前位置:红黑大战作弊器助手 > 运维 >

时间跨度大一直是在线DDL的一个痛点

发布时间:2019-08-05 03:57 来源:未知 编辑:admin

  做自动化运维,之前的模块肯定是不能丢掉的。之前,我们的高可用、数据备份、监控报警、在线DDL系统等重点关注模式是使用PT,现在我们改用了ghost。

  其次,我们的业务还有一个特点就是峰值比较集中,因为打车一般都集中发生在早高峰或晚高峰,所以系统的瓶颈也集中在这两个时间段。

  上图的架构就是我们在做自动化运维的初始部署,我们希望能够完成从业务申请到部署完成的一系列连贯动作。

  在线DDL是一个比较重要的模块,它的业务峰值是比较集中的,有可能一个表是非常大的,你想避开高峰期,例如想在晚10点到早8点做完,但是有可能是做不完的。时间跨度大一直是在线DDL的一个痛点,而且有些大表的业务修改是很敏感的。

  在线业务系统的最左侧是VIP,第二列是代理层中间件,第三列是MySQL,在这一层我们一般是用mha来保证MySQL的高可用。第四列是数据总线,很多人可能不理解数据总线,我举个简单的例子,如果乘客或者司机想要查询历史订单,那么你当然不能直接去线上的订单库里查询。线上订单库一般是按城市来分的,所以你还需要按照司机或乘客的ID将订单数据哈希到另一张表里,并且在这个新的库里进行历史数据的查询,相当于对数据重新做了一次分发和哈希。

  一周时间,RD申请30—50个实例在我们的工作中是很常见的,这时如果没有自动化运维,单纯靠自己手工部署的话,是很消耗时间的;工单处理的工作内容基本就是做一些DDL、表结构的变更,白名单以及其它需求;随着业务的发展,数据量会猛增,由于单机磁盘的存储是有限的,这时我们就要思考扩容、拆分的问题了,还有一种情况是磁盘可能足够存储,但是你的TPS/QPS单机可能撑不住,这时也要去做扩容;监控报警处理指的是我们前面提到的SQL错误,白名单没有加以及其它一些报警。

  同时还要有MySQL高可用的监控来应对主库挂了等等的异常情况。运维监控,我们是使用最常见的ZABBIX来做的。除此之外,我们还做了备份模块和性能优化的模块。

  滴滴现在主要使用的数据库是MySQL。滴滴的业务扩展很快,目前DB服务器大致有3000-4000台,实例就很恐怖了,整体有7、8千。在这种情况,靠纯人工去做运维是不可能的了,所以说我今天就和大家分享一下我们自动化运维从0到1的实践。

  自动化运维系统的Web层更多的是前端、界面化的东西,接下来是API层、调度层和执行层。

  假设我现在要新建一个MySQL的主从实例,最上面是服务名称,这个服务名称就是一般来说都是以用途来命名,接下来是选择版本和port,还要选择主库、备主库、从库,如果你的QPS非常高,那三台机器是不够的,需要增加几台,直接加在后面就可以了。

  下一步就是启动MySQL,数据文件拉取过来了,配置文件修改完成了,直接去启动MySQL就可以了。

Copyright © 2002-2019 现金彩票 版权所有