WOT董明鑫:容器技术在雪球的实践

原创
云计算
董明鑫最后表示,雪球目前拥有一千多个容器,项目数量大概有一百多个,规模并不是很大。但是得益于容器技术,雪球部署的效率非常高,雪球的开发人员只有几十个,但是每个月的发布次数高达两千多次。

【51CTO.com原创稿件】2018年5月18-19日,由51CTO主办的全球软件与运维技术峰会在北京召开。此次峰会围绕人工智能、大数据、物联网、区块链等12大核心热点,汇聚海内外60位一线专家,是一场高端的技术盛宴,也是***IT技术人才学习和人脉拓展不容错过的平台。

在“开源与容器技术”分会场,雪球 SRE 工程师董明鑫带来了《容器技术在雪球的实践》的主题分享,会后,51CTO记者根据董明鑫在WOT2018全球软件与运维技术峰会的演讲内容进行了整理。

【讲师简介】

董明鑫

董明鑫,雪球 SRE 工程师,主要负责保障雪球稳定性、提升资源利用率及提高开发效率等。关注容器生态圈的技术发展。

业务的发展需要容器技术

雪球最初是一个投资者社区。用户在雪球可以关注全市场所有的投资品类,还可以基于行情进行交流,同时也可以快速获取相关资讯。

有很多股民在雪球交流,甚至基于在雪球获得的信息直接作出投资决策,这时,他们就有一个强烈的需求:购买股票!于是雪球与国内券商合作推出了沪深A股交易的业务。由于互联网企业大部分都是在港美股上市,所以雪球还推出了港美股券商雪盈证券,满足用户交易港美股的需求。此外,雪球还做了持牌的基金代销机构蛋卷基金。

基于社区,雪球业务衍生出一些其他商业化的项目:沪深A股交易、港美股交易、基金销售、私募孵化器等。随着业务的发展,不同业务之间受到影响的概率比较高,雪球希望业务之间不被相互打扰,为了满足这种隔离的需求,雪球发现容器技术其实比较合适,因为容器本身镜像比较小,比较灵活,启动速度快,相比虚拟机,更适合雪球的业务发展,经过比较,雪球最终选择了Docker。

在运行过程中,雪球发现,使用Docker需要解决的问题主要有三个:网络连通性、多节点的服务部署更新、以及优秀的监控方案。

在实践中演进

雪球在初期的网络模式是一个二层互通的方案,这个方案的优点是与其它基础设施直接可达,并且性能很高。缺点是管理复杂,需要管理 IP 地址和 MAC 地址;规模受限,容易引发网络风暴;网络隔离实现复杂。

在服务部署方面,雪球尝试了虚拟机。虚拟机的优势一是与原有基础设施相比迁移成本低,二是相比物理机启动快,没有虚拟化的损耗,三是满足了隔离的需求。缺点是迁移、扩容繁琐;管理相对复杂,主要靠文档记录;基本没有流程控制和权限控制。

面对这些缺点,雪球希望做一个平台,实现容器的物理机管理、容器的管理,以及IP和MAC地址和流程控制的管理。于是,雪球变更了发布流程,如下图所示。

发布流程

发布流程

经过一段时间的使用,雪球发现自研的容器管理平台虽然实现了流程控制与权限控制,并且将代码与环境固化,使多版本镜像管理方便了很多,部署效率和扩缩容效率都有所提升,但是,流程控制逻辑与机器管理、网络管理之间耦合严重,而且,无法实现自动选择物理机和自动分配容器 IP,没有自愈功能。于是,雪球引入了Swarm,做了一个三层部署的模式。如下图所示。

网络模式

网络模式 Downward Default

后期,雪球又对此进行了优化,更加自助化的流程解放了运维,加入了更好的调度方案,支持多机房多云环境。

***,雪球引入kubernetes,每一个项目里可能有多个互联网数据中心(IDC),每一个IDC有不同的集群(Cluster),为每一个项目分配一个命名空间(Namespace),有自己的部署(Deployment)。由于Kubernetes本身的解决方案比较全,而雪球也已经有了很多解决方案,例如日志、负载均衡、监控等。如何才能更低成本的引入Kubernetes,而且让开发尽量不要感知到,***的办法是做合约的兼容性,最终,雪球只使用了Kubernetes的Deployment和HPA。

董明鑫***表示,雪球目前拥有一千多个容器,项目数量大概有一百多个,规模并不是很大。但是得益于容器技术,雪球部署的效率非常高,雪球的开发人员只有几十个,但是每个月的发布次数高达两千多次。

以上内容是51CTO记者根据雪球 SRE 工程师董明鑫在WOT2018全球软件与运维技术峰会的采访内容整理,更多关于WOT的内容请关注51cto.com。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

责任编辑:赵立京 来源: 51CTO
相关推荐

2018-03-23 17:35:21

WOT2018董明鑫Docker

2018-09-17 08:31:08

容器Docker雪球

2018-03-19 20:51:07

Weex小程序应用开发

2015-11-22 20:17:16

2018-12-24 11:13:32

WOT2018AI人工智能

2016-04-07 09:39:33

雪球唐福林实践历程

2018-05-19 18:24:02

WOT2018微服务容器

2018-06-25 16:14:28

AI人工智能贝壳找房

2015-04-27 17:27:01

WOT云智慧

2013-04-27 10:35:09

大数据全球峰会大数据安全

2016-10-28 10:40:12

2018-06-28 15:18:01

饿了么容器云计算

2023-07-31 13:49:11

2024-05-29 12:39:55

2020-06-03 07:59:12

2023-06-07 08:32:32

引擎技术while

2021-10-19 09:46:22

ReactGo 技术

2015-07-22 15:19:46

Docker云计算微服务

2023-02-16 07:24:27

VPA技术

2018-07-03 09:57:43

容器知乎大数据
点赞
收藏

51CTO技术栈公众号