高可用Docker容器云在58集团的实践

58私有云平台是58同城架构线基于容器技术为内部服务开发的一套业务实例管理平台,支持业务实例按需扩展,秒级伸缩,平台提供友好的用户交互过程,规范化的测试、上线流程,旨在将开发、测试人员从基础环境的配置与管理中解放出来,使其更聚焦于自己的业务。本文和大家分享在私有云平台实施过程中的相关容器技术实践。

本文主要从以下三个部分来进行讨论:

  1. 背景:当前存在哪些问题,为什么使用容器技术
  2. 整体架构:整个容器技术的架构方案
  3. 核心模块的设计方案:一些核心模块的选型决策与解决方案

为什么使用容器技术

在没有用容器化技术之前,我们存在这些问题:
资源利用率问题
不同业务场景对资源的需求是不一样的,有CPU密集型、内存密集型、网络密集型,这就可能会导致资源利用率不合理的问题,比如一个机器上部署的服务都是网络密集型,那么CPU资源和内存资源就都浪费了。有些业务可能只聚焦于服务本身而忽略机器资源利用率的问题。
混合部署交叉影响
对于线上服务,一台机器要混合部署多个服务,那么服务之间可能存在相互影响的情况,比如:一个服务由于某些原因突然网络流量暴涨,可能把整个机器的带宽都打满,那么其他服务就会受到影响。
扩/缩容效率低
当业务节点需要进行扩/缩时,从机器下线到应用部署、测试,周期较长。当业务遇到突发流量高峰时,机器到手部署后,可能流量高峰已经过去了。
多环境代码不一致
由于过去内部开发流程的不规范,存在一些问题,业务提测的代码在测试环境测试完毕后,在沙箱可能会进行修改、调整,然后再打包上线。这就会导致测试的代码和线上运行的代码是不一致的,增加了服务上线的风险,也增加了线上服务故障排查的难度。
缺少稳定的线下测试环境
在测试过程中,会遇到一个问题,服务依赖的其他下游服务都没有提供稳定的测试环境,这导致无法在测试环境模拟整个线上流程进行测试,所以很多测试同学会用线上服务进行测试,这里有很高的潜在风险。

为了解决上述问题,架构线云团队进行了技术选型与反复论证,最终决定使用Docker容器技术。

整体架构

58私有云的整体架构如下:
高可用Docker容器云在58集团的实践

作者简介


姚远:58同城-架构线-基础架构部-资深开发工程师,近些年一直致力于消息总线等中间件系统的开发与Docker等云计算底层基础设施建设;关注服务的高并发与高可用。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值