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

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

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

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

为什么使用容器技术

在没有用容器化技术之前,我们存在这些问题:

资源利用率问题

不同业务场景对资源的需求是不一样的,有CPU密集型、内存密集型、网络密集型,这就可能会导致资源利用率不合理的问题,比如一个机器上部署的服务都是网络密集型,那么CPU资源和内存资源就都浪费了。有些业务可能只聚焦于服务本身而忽略机器资源利用率的问题。

混合部署交叉影响

对于线上服务,一台机器要混合部署多个服务,那么服务之间可能存在相互影响的情况,比如:一个服务由于某些原因突然网络流量暴涨,可能把整个机器的带宽都打满,那么其他服务就会受到影响。

扩/缩容效率低

当业务节点需要进行扩/缩时,从机器下线到应用部署、测试,周期较长。当业务遇到突发流量高峰时,机器到手部署后,可能流量高峰已经过去了。

多环境代码不一致

由于过去内部开发流程的不规范,存在一些问题,业务提测的代码在测试环境测试完毕后,在沙箱可能会进行修改、调整,然后再打包上线。这就会导致测试的代码和线上运行的代码是不一致的,增加了服务上线的风险,也增加了线上服务故障排查的难度。

缺少稳定的线下测试环境

在测试过程中,会遇到一个问题,服务依赖的其他下游服务都没有提供稳定的测试环境,这导致无法在测试环境模拟整个线上流程进行测试,所以很多测试同学会用线上服务进行测试,这里有很高的潜在风险。

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

整体架构

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

作者简介


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言程序设计课件数组,数组(C语言程序设计)课件

数组(C语言程序设计)课件 前牙反颌和开颌的原因多由于不良喂养方式和吮指等不良习惯造成,也可因多颗乳磨牙过早缺失,迫使儿童用前牙咀嚼,下颌逐渐前伸移位造成。 前牙反颌和开颌的原因多由于不良喂养方式和吮指等不良习惯造成,也可…

Docker CE/EE 原生支持Kubernetes

在今天的 DockerCon EU (2017) 上,Solomon 宣布 Docker 将原生支持 Kubernetes,也就是说 Kubernetes 将和 Swarm 一样作为 Docker 平台的编排管理系统。这包括 Docker EE、Docker CE 以及 Docker for Mac/Windows 等全平台的支持。 Docker for Mac/Windo…

c语言创建一个hello.txt文件,并检查是否成功,广东工业大学C语言验(上机)任务书2015版.doc...

广东工业大学C语言验(上机)任务书2015版广东工业大学实验(上机)任务书(2015 — 2016 学年度第 1 学期)课程名称 高级语言程序设计 课程设计 实验室名称及地点: 实验2号楼306指导教师: 孟安波、王星华 周次节次实验主要内容每组学生人数具体任务要求65-8熟…

网易云容器服务基于Kubernetes的实践探索

Kubernetes的特点 近年来Docker容器作为一种轻量级虚拟化技术革新了整个IT领域软件开发部署流程,如何高效自动管理容器和相关的计算、存储等资源,将容器技术真正落地上线,则需要一套强大容器编排服务,当前大红大紫的Kubernetes已经…

c语言程序设计中三子棋游戏,C语言实现简易版三子棋游戏

本文实例为大家共享了C语言实现三子棋游戏的详细代码,供大家参考,详细内容如下什么是多文件?多数大型的工程的头文件和源文件非常多,我们也不可能把所有的代码都写在同一个文件里,这样也不方便代码的阅读与维护&#x…

Rancher创始人谈Docker,创新愈发困难,未来将何去何从?

导读:本文由Rancher Labs CEO及联合创始人梁胜博士在参加DockerCon之前和之后写的两篇文章综合整理而成。从各家容器编排方案均很不成熟的初期到三足鼎立的编排之战,到如今kubernetes似已全面胜利,梁胜博士作为整个发展历程的参与者与见证者,…

ld 指令c语言实现,C语言符号、指令表.doc

C语言符号、指令表.docC语语语 言言言 符符符 号号号 控控控 制制制 命命命 令令令 表表表 编译指令 编译指令 说明 i n c l u d e 包含另一个文件 d e f i n e 定义一个宏( m a c r o)或是常量 u n d e f 取消一个宏常量的定义 a s m 和 e n d a s m 在程序中加入汇编语言的程…

400位京东技术专家心血之作 《决战618:探秘京东技术取胜之道》重磅发售!

6.18始于京东的店庆日,现在早已演变成为全民参与的网购狂欢节。2017年6月18日24点,当京东总部的指挥中心大屏定格在“当前累计下单金额1199亿元”时,欢呼声、掌声响彻整个作战指挥室。在成绩背后,是京东强大的技术硬实力&#xff…

c语言创建一个顺序表主函数,用C语言来创建一个顺序表(数据结构部分)

顺序表的创建需要用到结构体,构造一个结构体来存储数据,顺序表申请的内存是连续的。创建顺序表的思路按照数据的“增删改查来进行编写”下列是顺序表的创建代码创建头文件:sqlist.h#ifndef SQLIST_H#define SQLIST_H#define N 100#define min…

XSS常见攻击与防御

本文获得作者授权刊发,更多信息请关注作者专栏。 XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种在web应用中的计算机安全漏洞,它允许恶意…

关于c语言的符号常量以下叙述中正确的是,关于C语言的符号常量,以下叙述中正确的是( )...

关于对起的是下列械布重机置的正确认识。标准运用征税国家公布,符号治权征的家凭借政力开税收是国。常量包括专利权的程序授予。现左膝关痛节肿,下叙化验快R增,性A阴,女性,能的最可诊断是,多发口腔溃疡年来…

创业公司的容器化之路

作者简介: 章烨明,杏仁医生CTO。中年程序员,关注各种技术和团队管理。本文首发杏仁医生技术站 1. 创业公司的技术挑战 托尔斯泰说:“幸福的家庭都是相同的,不幸的家庭各有各的不幸。”互联网创业公司也一样。大部分互…

周围剃光头顶留长发型_发型改变气质,这话放在石原里美身上也通用啊

上周,石原里美的新剧《天国餐馆》开播啦。你们有在追吗?她新剧里的发型争议还蛮大。她在剧里演一个法国餐厅老板黑须假名子,非常多这种大背头造型。很多网友觉得不适合她,有点老气。▼这个大背头发型也是角色需要啦,是…

单片机模数转换实验c语言程序,单片机实验AD转换实验

《单片机实验AD转换实验》由会员分享,可在线阅读,更多相关《单片机实验AD转换实验(5页珍藏版)》请在人人文库网上搜索。1、实验报告课程名称: 单片机原理及应用 实验项目: A/D转换实验 专业班级: 姓 名: 学…

ServiceComb中的数据最终一致性方案

本文由华为微服务引擎技术团队&&ServiceComb社区授权发布。 数据一致性是构建业务系统需要考虑的重要问题 , 以往我们是依靠数据库来保证数据的一致性。但是在微服务架构以及分布式环境下实现数据一致性是一个很有挑战的的问题。ServiceComb作为开源的微服务…

Rabbitmq延迟队列和惰性队列

延迟队列 当一个队列中的消息满足下列情况之一,可以成为死信: (1)消费者使用basic.reject或basic.nack声明消费失败,并且消息的requeue参数设置为false (2)消息是一个过期消息,超时…

laydate点击输入框闪一下不见了_爱剪辑:如何制作抖音、苹果风格的快闪视频...

不知道大家有没有看过iPhone的宣传片,视频开头有几十秒的快闪字幕,当时视频一出来就有很多剪刀手求教程,因为这个效果不仅酷炫,用途还很广,可以用于:日常生活介绍、产品介绍、搞笑段子......今天就来教大家…

c语言学习与应用 北京邮电大学出版社,《C语言程序设计与应用》低价购书_计算机与互联网_孔网...

c语言是一种简洁高效的编程语言,目前大多数高等院校把它作为学习程序设计的入门语言。本书针对程序设计的初学者,由浅入深、通俗易懂地介绍c语言。本书主要内容包括c语言概述、数据类型和表达式、程序控制结构、数组、函数、高级变量类型与宏定义、文件共…

C++和Lua交互教程(基于LuaBridge)

作者:查志旺 ,向日葵远程控制软件前端开发工程师。 最近公司需要做向日葵远程控制软件跨平台项目,为了代码的可复用性,需嵌入跨平台脚本语言,我们选择了Lua,理由是Lua由标准C编写而成,几乎在所有…

c语言100000阶乘,求10000的阶乘(c语言代码实现)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼/*程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀。程序意义:加强自己对于大数的处理。说明:此程序对乘法和除法还未做任何优化,如果用上位…