8 亿人晒军装,背后的运维技术大揭密!

团队简介: 腾讯SNG社交平台业务运维团队,负责Qzone、微云、QQ相册、天天P图、优图等产品的技术运营工作。致力于服务质量优化、服务保障、自动化运维体系建设等工作。经历过农牧场、红包、"军装"P图等多次活动保障。团队一直在进行自动运维,智能运维探索和实践。

前言

近两天人民日报+腾讯云联合运营“军装照”活动,想必已经刷爆了各位的朋友圈。在这场营销盛宴的背后,伴随了又一次海量运维能力的showtime:4000台设备,峰值24G带宽,5次运维自动扩容。

这类利用社交关系引爆的运营事件对腾讯SNG的运维团队早已不是什么新鲜事,从全民农牧场、全民刷红包、cosplay甄嬛传、军装照,SNG的运维团队早已把应对业务突发的变化作为织云智能运维平台能的核心能力。今天就让我们一起来探秘下,织云智能运维平台的关键技术和核心功能。

前言

近两天人民日报+腾讯云联合运营“军装照”活动,想必已经刷爆了各位的朋友圈。在这场营销盛宴的背后,伴随了又一次海量运维能力的showtime:4000台设备,峰值24G带宽,5次运维自动扩容。

这类利用社交关系引爆的运营事件对腾讯SNG的运维团队早已不是什么新鲜事,从全民农牧场、全民刷红包、cosplay甄嬛传、军装照,SNG的运维团队早已把应对业务突发的变化作为织云智能运维平台能的核心能力。今天就让我们一起来探秘下,织云智能运维平台的关键技术和核心功能。

织云智能运维平台

1、 标准化运维

织云智能支撑平台管理着超过十万台服务器,上万个功能24小时提供服务,而运维操作人员却很少。一个人维护近万台服务器,军装活动来临时可以快速无误的完成4000台服务器上线,是依托什么实现的呢?最主要得益于长期以来织云推行的标准化服务和运维的理念和要求。织云平台提供的统一包框架,集中配置管理,统一路由,统一组件等标准化技术手段,帮助运维研发质量等多团队完成高效协作,标准交付,快速应对等重要运营能力。标准化运维体系帮助我们在任何时候都能快速应对各种突发业务需求。

2、 强大的IAAS供应基础

依托腾讯云的海量资源,织云可以提供秒级的IAAS供给能力,结合自动化变更扩容缩容技术,可以快速应对万级服务资源供给上线需求。

3、 CMDB应用配置介绍

织云CMDB的设计,以模块为管理节点(模块:提供单一功能服务的集群)。会记录相关的配置信息,具体包括:硬件配置、软件配置、运营设置、软件包、配置文件、脚本、流程、测试用例等自动化依赖的关键系统。

以天天P图业务的CMDB应用配置示意图如下。

4、 自动化流程的介绍

织云提倡的自动化理念是:标准化 -> 配置化 -> 自动化,让企业的常用操作固化成流程工具。不依赖容易过期的文档,不依赖容易流失的人的经验。

参考持续交付的原则“为软件的发布创建一个可重复且可靠的过程”,运维团队为了解决人肉操作经验差异的难题,将运维操作通过流程DIY编排能力,实现标准操作的固化。“军装照”活动扩容,任何一个运维人员只需要执行天天P图的扩容功能即可实现容量扩展,而织云流程会自动化的完成整个服务部署和上线的操作。(如下图)

5、 关键的技术点:

1、 织云路由:L5

  • 名字服务

将调用对象IP、端口为维度抽象为名字服务,主调方调用时,无需关注实际被调服务器,而只需要确定名字服务ID。以此实现,被调方的IP变化对主调方完全透明。

  • 负载均衡

由于有些被调服务器本身存在差异,存在计算能力不一致的可能,可对不同的被调对象配置不同的权重,织云平衡木能够自动根据服务器处理能力、容量情况自动进行权重配置,达到负载均衡的目的。

  • 请求调度

链路、机房环境发生故障时,可能导致单服务器故障机率较大,织云L5具有的主动探测、调整机器,将故障机主动踢出被调,在故障机恢复后将其自动加回被调集群。在大面积机房故障时,也可借助L5的调度功能将整体被调对象切换到其他机房。

2、 大并发传输

运维平台如何实现快速文件分发,在织云平台的技术实现上,主要有两个技术要点:

  • 异步、基于消息队列的执行引擎 直接操作现网机器执行命令的命令通道、以及执行扩缩容任务的流程系统,均采用面向消息与异步通信的架构,高并发,易于水平扩展。
  • 分布式多级文件分发系统 文件分发是服务部署强依赖的基础功能。源文件存储在分布式文件系统上,三份冗余。既提高了可靠性,同时也提高了本地读取速度。对于多区域环境,每个区域还有独立的文件缓存,就近传输。

3、活动平台:自动缩容

社交运营活动是腾讯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社交平台业务运维团队在腾讯云和织云平台的辅助下,为人民日报的“军装照”运营活动提供了强有力的运维支撑,虽然镁光灯下不常有运维的身影,但我们依然为腾讯产品自豪、为我们的运维工作感到自豪!

欢迎关注「腾讯织云」微信公众号,获取最新织云的技术资讯。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WeTest质量开放平台团队的专栏

双十一临近,电商产品如何保持最优的性能体验?

十一月临近,一年一度的电商大戏“双十一”又将隆重出场,目前各大商家已经开始各类优惠券的发放,各类大促的商品表单也已经提前流出,即将流入各个用户的购物车中。

812
来自专栏云计算

企业微服务架构转型-实施步骤

在前面的文章中已经谈到过微服务架构转型中的实施策略,今天重点谈下微服务架构转型中的实施步骤。 步骤1:4A和流程平台的下沉和能力开放 在实施微服务架构转型的时候...

2007
来自专栏企鹅号快讯

小程序新增多项功能,优化100多个功能点,堪称重磅!

微信在更新了安卓版6.6.0之后,小程序也来了一场大更新,新增多项功能,优化100多个功能点,堪称重磅! 1分享功能:小程序分发形式试探 分享功能功能,即用户可...

1827
来自专栏编程

对于程序员来说写代码并不是最难的事情!

大多数非程序员认为软件开发是非常困难的,确实如此,但这种困难不像那些外行人理解的那样。最近在 Quora 上的一次讨论,程序员分享了他们认为工作中的最大困难,在...

1720
来自专栏企鹅号快讯

微信小程序:为了满足三方需求,我们一直在改变

小程序:我们正在加快开发速度,争取满足用户的需求。 “小程序升级实时音视频录制及播放能力,开放 Wi-Fi、NFC(HCE) 等硬件连接功能。同时提供按需加载、...

17810
来自专栏腾讯数据库技术

腾讯新一代企业级云数据库CynosDB(NewCDB)

NewCDB是在CDB十年技术和产品沉淀的基础上诞生的,腾讯云数据库产品在继承中不断完成突破。

7.5K6
来自专栏腾讯社交用户体验设计

Dashboard设计思考(上篇)

2073
来自专栏后端技术探索

从既有系统到微服务架构

微服务近年来可谓炙手可热,合理的使用微服务架构可以解耦系统、提供更好的软件伸缩性以及提高组织的敏捷性。然而现实中较少有项目一开始就会选择使用微服务架构,绝大多数...

722
来自专栏非著名程序员

Web技术与Native APP进入融合时代

如果说以前的微信公众号还是一个媒体化的平台,那么2016年的公众号会有一种新的形态,叫应用号。应用号预示着比公众号更强大的功能、更优质的体验以及更丰富的服务。应...

20310
来自专栏美团技术团队

孵化业务快速落地与优化

海外酒店是酒旅事业群第一个孵化的业务,从2016年9月份开始到现在已经半年多的时间。在业务后台搭建、成长、优化过程中,经历了很多的思考与选择。 主要分为下面几个...

3539

扫码关注云+社区