每年除夕看春晚,今年除夕抢红包。在整个羊年的春节假期里,大家都在忙着抢各种各样的电子红包,互联网用红包的方式革新了我们的拜年方式。为此,I
foQ策划了“春节红包”系列文章,以期为读者剖析各大平台的红包活动背后的技术细节。本文为微博篇。羊年春晚Docker集群成功的为102亿小伙伴刷微博、抢红包提供了可靠的服务。本文将为大家揭开微博平台Docker集群的神秘面纱,包括集群规模,技术架构等方面情况。不过在分享前,先问两个问题,不知道大家是否正为这两个问题而纠结:1Docker技术能够解决什么问题?2Docker技术是否足够成熟,是否可以在生产环境上大规模应用?一个月前,微博平台也在这两个问题中纠结一段时间,事实胜于雄辩,先来看一下微博平台Docker集群的规模情况:
Docker集群规模达到1000节点QPS峰值达到800Ks4个9的服务SLA达到150ms共覆盖23个核心服务春晚共调度近300节点完成动态扩容
在引入任何新技术之前,在架构决策上必须回答:我们现在有什么问题,它能够解决吗。否则就变成了唯技术论,造成不必要的资源浪费。促使平台做出决定的一个主要因素就是春晚的红包飞活动。现在大家都知道,微博春晚红包飞共计抽取了35亿次,马云的支付宝红包以及任性土豪的1234567元跨年红包,在3分钟内被抢光,带动用户用活跃度提升46,达到102亿用户。同时广大用户还活跃在各种粉丝群中,为了抢到一个分组红包手机屏幕
f都快点碎了。面对这种到处开花的流量峰值,传统按照业务峰值部署集群的方式,设备成本将无法接受。所以平台需要一种能够在集群间快速调度业务的技术方案。Docker是目前能够实现这一目的的最佳方案。为什么原有的集群管理方式,无法实现快速业务切换呢,关键问题是环境的差异性。程序猿都知道在代码运行的世界里,拆东墙补西墙是一件不靠谱的事情,弄不好会塌方的。虚拟化可以实现隔离软件运行环境差异性,目前虚拟化技术有以Ope
Stack为代表传统VM技术,和以Docker为代表的Co
tai
er技术两大类。如何在二者中进行选择,平台从下面几个维度进行了评估,供大家参考:Docker启动速度复杂度秒级Ope
Stack分钟级结论面对流量峰值,速度就是一切
基于内核的
amespace技术,对现有基础设施的侵入较少在内核中实现,所以性能几乎与原生一致依赖简单,与进程无本质区别与业务代码发布版本大小相当,MB级别
部署复杂度较高,并且很多基础设施不兼容对比内核级实现,性能较差依赖复杂,并且存在跨部门r