Docker应用方案:美团网站服务器
2021-01-05 09:53:39 阅读(253) 评论(0)
自动构建系统是美团自动部署系统发展起来的一项新功能。每当开发人员向仓库提交代码时,系统都会根据开发人员定制的构建配置自动启动新的docker容器,其中构建源代码。(build),包括编译(如Java)、C 和Go)、预处理(如JavaScript和CSS)、压缩(如图片)等操作,生成最终需要上线的程序包。美团代码自动部署系统的背景和问题承载着美团所有业务的代码在线工作。一开始,基于简单的Bash脚本,代码部署系统通过Rsync和SSH从中央主机传输和执行文件。图1 经过多次演变,代码部署系统架构图代码发布系统增加了许多功能,但原来的中央架构仍然保留下来,见图1。出版商通过Web界面或RESTAPI控制中央控制器。中央控制器负责从Git服务中提取代码,构建应用程序包,然后通过RSYNC将程序包上传到应用集群,并使用SSH执行远程命令。自动部署系统为美团业务的快速发展提供了强有力的支持。由于我们采用开发人员自助上线的方式,发布操作频繁,工作日每天上线数千次。图2是过去15个月每月发布的次数。为了不断优化发布速度,为发布者提供良好的体验,我们将单次发布的平均时间作为发布系统的重要KPI。然而,随着美团业务的快速扩张,服务的增加,应用程序的发布数量也在增加,集中体系结构的问题也得到了突出。问题1:同时进行多项资源竞争建设任务,竞争中控机资源,影响发布速度。有一次,一个应用程序受到Java应用程序同时发布的影响,通常两分钟的发布变成十分钟以上,严重影响发布体验。如果发生事故需要回滚,问题会更严重。问题2:不同的环境冲突应用程序的构建依赖于发布机上的环境,需要考虑环境冲突和隔离。例如,Java1.6/1.7共存,Java版本需要Java_HOME变量指定,Maven2/3也存在同样的问题。npm的global包也需要与多个应用程序的构建兼容。问题3:在公共发布机上运行安全隐患应用的构建脚本,脚本的bug可能会影响发布机的正常运行。例如,某个构建脚本中的sudoservicenginxreload命令应该在应用服务器上执行,但开发人员错误地将其配置到在发布机上执行的构建脚本中。为了解决上述三个问题,我们首先想到的解决方案自然是重构为多台中控机器的横向扩展。但由于某些应用的特殊性,变化比较麻烦,所以一开始并没有走这个方向(现在已经实现了多中控机)。那么另一个想法:能否将施工过程与中控机分离?TravisCI受到这种想法的影响(https://travis-ci.org)的启发。我们从TravisCI中学习,在代码提交过程中自动触发应用程序的构建。因此,我们的解决方案可以概括为以下三点:将构建过程放置在Docker容器中;提交代码时自动触发构建;发布时直接使用构建的应用程序包。使用前配置如下:发布系统配置发布项目(build.yml);URLLL在Stash配置自动构建服务;定制镜像(可选)上传到私有Dockeregistry。使用过程相对简单,主要有以下步骤:开发人员向Stash提交代码;触发自动构建;根据配置自动构建生成任务;启动Docker服务器上的容器完成构建;将构建好的包上传到美团云对象存储服务(MSS);发布时从MSS拉软件包并发布。自动构建API将在每次提交代码时触发。在Docker服务器中执行构建任务进入队列。发布时不需要编译,直接拉软件包发布。从图6、从图7中可以看出,已经自动构建的文件在发布过程中直接用于部署。图3 配置图4自动构建 发布系统配置界面图5 自动构建架构图6 自动构建的日志图7 为什么嵌入自动构建日志的发布日志不使用虚拟机?美团的虚拟化比较彻底,虚拟机而不是容器也可以自动构建。但虚拟机与业务有关,会长期保留。二是虚拟机与CMDB的深度结合,创建后将报告基本信息,部署Agent,配置监控项等。此外,虚拟机的创建相对较慢。考虑到以上几点,我们使用Docker而不是虚拟机作为自动构建的基本单元。基于Docker容器的自动构建,解决了资源竞争、环境冲突和安全隐患三个问题。构建任务移出发布机,构建Docker服务器可以横向扩展,解决资源竞争问题。每一个建筑都是独立的镜像,环境冲突问题不复存在。在独立于发布机的Docker服务器上构建脚本,自然消除了发布机造成的安全隐患。除解决上述三个问题外,自动构建还显著提高了发布速度。据统计,自动构建任务的平均执行时间为197s,而自动构建应用的平均发布时间为99s。如果不使用自动构建,这些应用程序的发布时间是197s 99s,大约300秒。由此可见,自动构建将应用程序的发布时间缩短了三分之二。总结自动构建是美团首次应用Docker。这个应用程序不是用Docker来解决代码部署系统中的问题,而是用Docker来解决我们遇到的问题。该应用只使用Docker的核心容器功能,而不使用Docker集群管理、调度、自动扩展等先进功能。Docker非常适合自动构建场景。希望本文能启发计划开始使用Docker的公司。
推荐阅读
- 第一ppt模板网免费下载
PPT模板免费的去哪找?同学分享,手机下载。 去手机上搜索那些PPT的免费模板,然后进入相应的网站去下载也有一些特别好的模板,是需要去买的像在拼多多或淘宝上也有专门分享这些PPT模板的。 当然,如果也可以找同学给自己分享,有些同学存了很多一…查看详情
- 火机专利起诉怎么办 火机专利起诉解决办法
在平时很多的小伙伴都不知道火机专利起诉怎么办的基本情况,而且对火机专利起诉怎么办都不是很熟悉,下面万商云集小编就为大家整理了火机专利起诉怎么办这方面的相关内容,希望下面的内容能帮助到各位。 一、火机专利起诉解决办法 (一)侵…查看详情
- 转让专利权的程序是什么 转让专利权的流程
只有专利转让人和受让人双方取得一致的意见之后才能有效地开展之后的转让相关工作。在转让合同中,对于双方的利益都应该有明确地文字内容,下面万商云集小编就给大家介绍下 转让专利权的流程。希望能帮助到大家。 转让专利权的流程 第一步:寻找专…查看详情
- 运营要知道 | 网络推广的方法有哪些?
网络推广由于低费用、有效果,成为了企业最常使用的推广手段,同时也是企业的最佳选择。那么企业在使用网络推广手段时,一定要知道网络推广的方法有哪些,才能收获好的推广效果,帮助企业提升知名度、增加利益。图片来源于网络 ● 微博营销微博一直以来都…查看详情
- 域名注册商查询 | 注意查询域名信息,防止域名被贪
域名注册商查询?域名信息查询?什么时候我们才需要进行域名相关信息查询呢?其实当在域名注册服务商或代理商处,成功注册域名后就应该进行查询,如此才能避免以后突然出现域名无法使用或被收回的情况。 现在很多域名注册平台都提供了域名注册商查询功能,如…查看详情
- 苹果6s内存已满怎么清理?
优质答案(1) 材料/工具:苹果6plus; 1、首先在iphone手机主页找到设置; 2、然后再设置中我们找到并点击通用,进入通用设置; 3、在通用中可以看到存储空间与icloud用量,进入; 4、然后我们可以看到一个管理存…查看详情
- 开网店货源从哪里来?货源优缺点分析
我们开网店,最主要的是货源货源决定着你店的生死,货源越好,开店收入越高,货源越低,开店收入就会越低,所以说货源是淘宝店第一大难题那么开网店的货源从哪里来呢?所以给大家罗列了一些方法和货源优缺点分析,方便大家参考。 一、网上找货源 通过网上找…查看详情
- ps怎么把图片变成黑白
photoshop中如何将图像,图片变成黑白色?PS中将图片变成黑白的方法有很多,在这里我讲给大家介绍比较简单好操作的两种方法,希望可以帮助到你。 1、在需要编辑的图片上击右键,选择使用PS打开文件。 2、执行“图像——模式——灰度”命…查看详情
- 言情小说排行榜前十名,这几本都值得一看
虽然小说的类型非常多,但是都是言情的小说,依然是大家都比较喜欢看的,因为一些甜美的剧情,可以给生活也注入一些糖果的味道,让大家可以短时间忘却生活中的一些苦恼,那么下面就为大家分享言情小说排行榜前十名,一起来了解吧。 1、何…查看详情
- 世界航空公司排名 2022十大航空公司排行
近两年受疫情影响,很多航空集团都关闭或重组了旗下部分航司。例如海航在进行破产重整,汉莎航空关闭了旗下的德国之翼,香港国泰航空收编国泰港龙航空,等等。下面小编就给大家来详细介绍一下世界航空公司排名 2022十大航空公司排名这一块的内容,希…查看详情
- 超实用的4款MySQL数据库管理工具
我们平时使用的软件比较多,但是,一般电脑或者是手机的桌面放不下那么多的软件,看上去特别的乱,那么,可以借助管理软件去管理,这样的话手机的桌面看的时候就会特别的整齐。 1、DbNinja 是款依托于电脑的数据库管控与研发应…查看详情
- 专利权转让需要注意哪些法律问题?
专利权作为一种智慧财产权,可以进行转让。但是,作为专利权客体的发明创造它又是无形的资产,这种“无形”性使其相比于有形资产而言,其转让过程中发生纠纷的可能性更大,其实很多人在这过程中对这一块需要注意的法律事项不是很清楚,下面小编就给大家来详细…查看详情
- 企业生存艰难,依靠”数字化转型“逆风破局?
“今年是未来十年最好的一年”一句话在19年初便萦绕在各行业老板耳边,物料成本上升、产品销量不佳、企业生存艰难,无力、无奈、无法?再加之疫情的出现,全球经济下行,物流被阻断、门店无客流,营收锐减,各线下行业皆受重创。 传统企业原本就在线上发展…查看详情
- 经典电视剧排行榜前十名,经典中的佳作
虽然现在人们的娱乐方式越来越多了,但是看电视剧,依然是人们最主要的一种娱乐放松的方式了,而每年也都有大量的电视上映,但是对于电视的质量,大家也在不断的吐槽,还会经常回看一些经典的电视剧,那么下面就针对于经典电视剧排行榜前十名,为…查看详情
- 小程序代理加盟市场利润不少,究竟是商机还是骗局?
微信小程序在近两年使用量一直不低,商家可以通过微信社交产生流量、通过公众号实现内容转化、通过社群实现裂变等与用户链接,达到销售目的。所以,微信小程序的种种优势,促进了小程序代理加盟市场的兴起。 图片来源于网络 由于小程序的火热和优势,如今小…查看详情
猜你喜欢
最新文章

扫码二维码
立即领取《千元实战营销秘籍》
还可免费试用营销管理系统
*如有疑问,请随时拨打免费咨询热线:400-0033-166
服务时间:8:30-18:00
软件企业
认定号:川RQ-2018-0216
高新技术企业
认定号:GR201951001121

关注微信公众号
和10万中小企业共同成长

扫码下载APP
享全方位服务一触即达
Copyright © 2004-2022 万商云集(成都)科技股份有限公司 版权所有
蜀ICP备12001963号-2
川公网安备 51010402000322号

快速找产品

找一找哪款产品适合您?
咨询热线:400-0033-166
-


-
电话沟通
获取方案
下载APP
官方微信
扫码下载APP
全方位服务一触即达

关注万商云集
和10万中小企共成长

TOP

企业首选的数字选用平台

400-0033-166
8:30-18:00
















































注册有好礼



