团队简介: 腾讯SNG社交平台业务运维团队,负责Qzone、微云、QQ相册、天天P图、优图等产品的技术运营工作。致力于服务质量优化、服务保障、自动化运维体系建设等工作。经历过农牧场、红包、"军装"P图等多次活动保障。团队一直在进行自动运维,智能运维探索和实践。
近两天人民日报+腾讯云联合运营“军装照”活动,想必已经刷爆了各位的朋友圈。在这场营销盛宴的背后,伴随了又一次海量运维能力的showtime:4000台设备,峰值24G带宽,5次运维自动扩容。
这类利用社交关系引爆的运营事件对腾讯SNG的运维团队早已不是什么新鲜事,从全民农牧场、全民刷红包、cosplay甄嬛传、军装照,SNG的运维团队早已把应对业务突发的变化作为织云智能运维平台能的核心能力。今天就让我们一起来探秘下,织云智能运维平台的关键技术和核心功能。
织云智能支撑平台管理着超过十万台服务器,上万个功能24小时提供服务,而运维操作人员却很少。一个人维护近万台服务器,军装活动来临时可以快速无误的完成4000台服务器上线,是依托什么实现的呢?最主要得益于长期以来织云推行的标准化服务和运维的理念和要求。织云平台提供的统一包框架,集中配置管理,统一路由,统一组件等标准化技术手段,帮助运维研发质量等多团队完成高效协作,标准交付,快速应对等重要运营能力。标准化运维体系帮助我们在任何时候都能快速应对各种突发业务需求。
依托腾讯云的海量资源,织云可以提供秒级的IAAS供给能力,结合自动化变更扩容缩容技术,可以快速应对万级服务资源供给上线需求。
织云CMDB的设计,以模块为管理节点(模块:提供单一功能服务的集群)。会记录相关的配置信息,具体包括:硬件配置、软件配置、运营设置、软件包、配置文件、脚本、流程、测试用例等自动化依赖的关键系统。
以天天P图业务的CMDB应用配置示意图如下。
织云提倡的自动化理念是:标准化 -> 配置化 -> 自动化,让企业的常用操作固化成流程工具。不依赖容易过期的文档,不依赖容易流失的人的经验。
参考持续交付的原则“为软件的发布创建一个可重复且可靠的过程”,运维团队为了解决人肉操作经验差异的难题,将运维操作通过流程DIY编排能力,实现标准操作的固化。“军装照”活动扩容,任何一个运维人员只需要执行天天P图的扩容功能即可实现容量扩展,而织云流程会自动化的完成整个服务部署和上线的操作。(如下图)
名字服务
将调用对象IP、端口为维度抽象为名字服务,主调方调用时,无需关注实际被调服务器,而只需要确定名字服务ID。以此实现,被调方的IP变化对主调方完全透明。
负载均衡
由于有些被调服务器本身存在差异,存在计算能力不一致的可能,可对不同的被调对象配置不同的权重,织云平衡木能够自动根据服务器处理能力、容量情况自动进行权重配置,达到负载均衡的目的。
请求调度
链路、机房环境发生故障时,可能导致单服务器故障机率较大,织云L5具有的主动探测、调整机器,将故障机主动踢出被调,在故障机恢复后将其自动加回被调集群。在大面积机房故障时,也可借助L5的调度功能将整体被调对象切换到其他机房。
运维平台如何实现快速文件分发,在织云平台的技术实现上,主要有两个技术要点:
异步、基于消息队列的执行引擎
直接操作现网机器执行命令的命令通道、以及执行扩缩容任务的流程系统,均采用面向消息与异步通信的架构,高并发,易于水平扩展。
分布式多级文件分发系统
文件分发是服务部署强依赖的基础功能。源文件存储在分布式文件系统上,三份冗余。既提高了可靠性,同时也提高了本地读取速度。对于多区域环境,每个区域还有独立的文件缓存,就近传输。
社交运营活动是腾讯SNG的常态,因此织云专门针对这种活动业务的特点:快上快下,定义了活动平台的功能给予支持。
自动缩容功能支持定时缩容与低负载缩容,由不同的策略触发运维自动化流程操作。“军装照”的4000台设备活动热度过后,运维人员可设置自动的缩容策略,即可实现自动化的缩容,无需人工介入操作。(缩容操作如下图)
1、 高低负载日常管理
运维工作要尽量减少救火式的任务,鼓励有计划有准备的工作,将容量管理变成重要不紧急的工作。因此,我们倾向于把这部分工作例行化,将容量管理从计划外任务转变成计划内任务。
以腾讯SNG对生产环境容量管理的度量方法为例,织云平台提供统计数据(以模块为管理单位):
低负载:CPU使用率 <30%,流量 <100Mb/秒,访问密度 <200次/秒/GB
高负载:CPU使用率 >75%,流量 >300Mb/秒,访问密度 >600次/秒/GB
2、 异常容量的处理
在腾讯SNG运维日常工作中,与容量相关的运维对象有:单机、模块、SET。
* 单机的容量管理
利用CPU亲和或linux内核多队列网卡的特性,解决多核CPU间负载不均,导致容量浪费的问题。
* 模块的容量管理
1)利用织云L5路由服务的请求权重调度的能力(参考开源nginx、haproxy、LVS等),解决集群内IP负载不均的问题。
2)利用织云一致性管理能力,解决应用程序或配置文件部署不一致的问题。
λ SET的容量管理
结合压测找到SET的性能短柄,保持SET容量模型可靠,以备关键时刻调度所用。
3、 实时模块容量监控
在模块内IP容量一致的情况下,织云监控实时采集单机硬件性能指标,即可汇总计算出模块的实时容量指标,供自动化决策所用。
织云主机监控技术架构如下图,支撑着10w台设备量的主机性能数据采集,为腾讯社交业务提供准确高效的基础监控能力。
SNG社交平台业务运维团队在腾讯云和织云平台的辅助下,为人民日报的“军装照”运营活动提供了强有力的运维支撑,虽然镁光灯下不常有运维的身影,但我们依然为腾讯产品自豪、为我们的运维工作感到自豪!
欢迎关注「腾讯织云」微信公众号,获取最新织云的技术资讯。