专访新浪微博资深运维架构师王关胜:微博混合云,极端流量下的峰值应对与架构挑战...
杭州·云栖大会将于2016年10月13-16日在云栖小镇举办,在这场标签为互联网、创新、创业的云计算盛宴上,众多行业精英都将在这几天里分享超过450个演讲主题。
为了帮助大家进一步了解这场全球前言技术共振盛会的内容,云栖社区采访了各个论坛的大咖,以飨读者。
以下为正文:
王关胜,新浪微博资深运维架构师,2011年初加入新浪,一直负责新浪微博平台的技术保障工作。参与了微博主站平台化改造,版本升级,多机房部署,业务RPC化,Feed存储与算法,Hbase应用等重量级架构改造项目,主要负责运维支撑及改造工作。在公司内部编写过近100页的详细微博Feed技术保障文档。擅长大规模分布式系统集群的管理与运维,疑难问题分析,故障定位与处理。对运维工具平台建设,监控,应用性能跟踪及分析,数据化运维,架构改造,业务技术保障等方面有深入的研究。近两年,微博常常出现热点事件,王关胜及其团队利用Docker等技术,基于公有云,构建混合云系统,可以在10分钟内弹性部署上千节点能力,自动力能力大大加强。
在本次云栖大会——架构师专场上,王关胜将会分享在极端流量下的峰值应对以及微博混合云DCP的架构设计挑战。主要会集中讲解一下几点:
- 在大型活动,春晚,明星等热点事件中,如何利用微博DCP保障服务的稳定性。
- 微博DCP设计中的难点:比如平台设计,弹性伸缩,多租户设计等核心内容
- 构建混合云平台的经验
在专访中,王关胜也简单谈到弹性伸缩。他谈到,DCP系统最核心的是弹性伸缩,能根据容量情况进行自动的弹性伸缩,以此来解决明显的早晚高峰及热点事件的峰值问题。DCP第一版时,新浪微博做到了扩缩容的自动化,但未能自动伸缩,需要人的参与,而且也会有几个操作步骤,人本身是懒惰的且是易犯错的,且还会存在人力成本,这还没达到预期的目标,离无人值守还差一段距离,于是,他和团队又开发了两个模块:
- 容量决策系统:可以每周在线压测服务,评估出每个服务的容量数据,以供决策;
- 调度框架:在任务之上,采用基于时间段的调度策略,在业务访问低峰时执行缩容策略, 高峰来临前执行扩容策略。
- 提供基于时间的调度方式,类似crontab触发机制,Chronos、 Quartz提供可借鉴的任务调度实现机制;
- 提供基于容量的动态调度,如根据业务流量及服务冗余情况,自动扩容或缩容。
- 解决服务的链路级依赖,比如,A服务依赖B,B在自动弹性扩容时,需扩容好服务B。
这些都是在系统设计里面需要考虑的核心问题。
在谈到弹性伸缩在未来的变化方面,王关胜认为对于业界而言,基本都会需要弹性伸缩的,有的公司根据内部的基础设施 + 自研的方案做自己的调度平台,有的则直接使用开源的平台,比如kubernetes,swarm,mesos,yarn等,甚至现在还有公司直接开源整套解决方案的。王关胜认为随着Docker以及编排工具的成熟,日后,全动态的编排调度会变得更容易,对企业来说,会节省更多的成本。
在专访的最后,王关胜给出了对于初学者的学习建议:
- 要做好技术选型,选择最适合公司业务场景的,解决问题才是关键。
- 对于是物理机,还是虚拟机,还是Container来说,都是一个演进过程,能弯道超车是最好的。
- 底层技术要研究透,比如Docker,网络,存储,编排等。