太平洋保险 DCOS支撑10万笔/秒交易峰值
- 来源:中国信息化周报 smarty:if $article.tag?>
- 关键字:云计算,DCOS,太平洋保险 smarty:/if?>
- 发布时间:2016-04-05 09:39
随着云计算的快速普及,传统企业越来越关注基于云计算的下一代IT架构变革。回顾企业IT架构演进历史,主要经历了“传统孤岛”、“x86+虚拟化”和“云化”三个阶段。如果说IaaS属于云化的“初级”阶段,PaaS和应用资源池化就是云化的“进阶”阶段。而今天故事的主角DCOS实现了数据中心级弹性伸缩,使它称得上“深度”云化的发动机了。
什么是DCOS呢?它是数据中心操作系统(Data Center Operating System,简称DCOS),是为整个数据中心提供分布式调度与协调功能,实现数据中心级弹性伸缩能力的软件堆栈,它将所有数据中心的资源当做一台大型计算机来调度,可以视作这个大型主机的操作系统。表1给出了Linux OS与DCOS以基于Mesos为例的类比。
DCOS平台关键技术选型
在春节期间,太平洋保险联合上海天玑数据,采用DCOS平台改造微信应用系统来支撑推出的“除夕夜摇红包”、“初五迎财神”等系列活动。活动期间DCOS轻松支撑高达每秒10万笔交易的业务高峰,仅除夕当夜微信增粉量就超过1300万。
这次太平洋保险进行综合评估技术选型后,最终选择了基于Mesos+Docker搭建DCOS平台。功能框架如下:以Docker为基础封装各类应用和运行环境,以Mesos、Marathon为核心实现容器资源的分布式调度与协调,以HAProxy、Etcd为辅助实现服务注册引流。
应用封装 Docker
Docker为开源的应用容器引擎,在标准的LXC之上融合AUFS分层镜像管理机制,抛弃传统虚拟机试图模拟完整机器的思路,而是以应用为单元进行“集装封箱”,是轻量级的虚拟化技术。
Docker Engine可以自动化部署应用到可移植的容器中,这些容器独立于硬件、语言、框架、打包系统。一个标准的Docker容器包含一个软件组件及其所有的依赖,实现持续集成与部署,快速迭代应用程序;Docker容器可以封装任何有效负载,几乎可以在任何服务器之间进行一致性运行。开发者构建的应用只需一次构建即可多平台运行。运营人员只需配置他们的服务,即可运行所有应用。
资源调度 Mesos
Mesos是为构建和运行其他分布式系统提供服务的分布式系统。它将CPU、内存、存储介质以及其他计算机资源从物理机或者虚拟机中抽象出来,构建支持容错和弹性的分布式系统,并提供高效的运行能力。Mesos以Framework(框架)的形式,提供了“两级调度机制”,将任务的调度和执行分离。还能够与不同类型的Framework或Application通信,每种Framework或Application由相应的应用集群管理。
Mesos Master负责将资源分配给各个框架,而各个框架的Scheduler进一步将资源分配给其内部的各个应用程序。
Mesos Slave的Executor具备调用Docker能力,当Executor接收到Task时启动Docker,其可以调用Docker去启动一个容器。
任务调度 Marathon
Marathon是基于Mesos来做任务调度,Mesos仅负责分布式集群资源分配,不负责任务调度。
Mesos集群可以混合运行来自Marathon的不同类型的任务。Marathon基于Mesos的任务调度为动态调度,即每个任务在执行之前是不知道将在哪一台服务器上执行和绑定哪一个端口。
服务注册与引流 HAProxy+Etcd
HAProxy提供高可用、负载均衡的解决方案,而Etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现,提供了数据TTL失效、数据改变监视、多值、目录监听、分布式锁原子操作等功能,可以方便地跟踪并管理集群节点的状态。Etcd与HAProxy配合能够实现数据中心应用的动态引流。
DCOS的实战威力
为应对这次春节红包活动业务系统的瞬时高峰压力,太平洋保险DCOS平台采用223个主机节点,其中平台部分由5个节点构成Mesos Master Cluster,80个节点构成HAProxy Cluster,138个计算节点承载674个Docker Container,其中动态计算节点113个,静态计算节点25个。该平台可在1分钟内轻松实现扩展到1000个以上Docker节点。
巧妙分离动静态资源池,大幅提升应用访问速度。考虑到互联网应用中会使用大量图片和动画等静态资源,为提高服务访问速度,DCOS架构通过动静分离,将静态资源服务器和动态资源服务器池化并分开管理,于是,静态资源请求可直接通过静态资源池完成,不必再访问后端动态资源池,减少动态资源池的压力。而且采用专门的静态资源服务器,具备Cache能力,可大幅提升静态资源的访问速度。
简化网络复杂度,提高网络访问速度。太平洋保险原架构DMZ-WEB区的请求在穿过防火墙后需再经过DMZ-APP区的一个F5设备和HAProxy才能到达动态资源服务器,这样就多增了两层网络服务器的访问,降低访问速度,当然故障点也增多了。而改造后的架构,将动态资源池的路由信息同步到DMZ-WEB区的HAProxy中,HAProxy根据路由信息将动态请求直接转发到动态资源池上,从而极大简化网络路径的复杂度,网络访问速度明显提升。
超强弹性伸缩、快速持续集成。由于两次抽奖活动的间隔时间紧张,若是采用繁琐耗时的传统部署方法——得经过主机、操作系统、中间件、数据库和应用的集成部署,还得经过一定调试后才能对外提供服务。而改造后的DCOS通过与容器技术的深度结合,实现超强弹性伸缩,快速响应、持续交付,仅在10分钟内就完成共享资源的全部调整,有力保障业务的连续。
更细粒度资源调度,实现高资源利用率。DCOS相较于虚拟机管理,有着基于CPU、内存的更细粒度的资源调度,多个计算框架或应用程序可共享资源和数据,大幅提升资源利用率,根据统计DCOS资源消耗可以降低50%。
高效的跨数据中心的资源调度。DCOS平台展现了其在线性动态扩展、异地资源调度等方面的优异性能,1分钟内快速扩展到1000+的容器,平台和计算节点完全跨机房分布式调度。
分布式架构保障高可用。DCOS平台所有组件采用分布式架构,应用跨机房分布式调度。自动为宕机服务器上运行的节点重新分配资源并调度,保证业务不间断,做到故障自愈。
传统企业在“互联网+”的背景下,IT基础架构的发展要确保新技术的研究和应用与企业未来业务发展需要相一致。而今,云计算相关技术正在逐渐演化成熟,尤其PaaS领域的技术发展更是日新月异。以DCOS为代表的下一代轻量级PaaS正越来越为业内所关注。DCOS凭借其数据中心级弹性伸缩能力、快速持续集成等轻量优势,帮助企业快速应对业务需求,为传统IT的敏捷转型提供了新机遇。
太平洋保险集团 胡罡
