首页 >知识讲堂 >网站建设知识>Docker应用方案:美团网站服务器

Docker应用方案:美团网站服务器

2021-01-05 09:53:39 阅读(260 评论(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的公司。

以上就是关于Docker应用方案:美团网站服务器的相关介绍,更多Docker应用方案:美团网站服务器相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对Docker应用方案:美团网站服务器有更深的了解和认识。

内容来源:网络,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

数字化转型难!居然是这个原因?

近年来,从中央到地方,大力提倡产业数字化,不仅是时代刚需,更是未来大方向。很多企业应用数字化产品的也越来越多,但是应用过程中却充满艰辛,数字化之路任重道远。 1买了产品不会用,求助无门难煞中小企业据不完全统计,在…查看详情

视频合并软件APP有哪些?这几款简单实用

如果想要将自己拍摄的视频合并在一起,或者是剪辑视频,以及想要打造出的诱惑非常有趣视频的话,都可以使用好用的视频合并软件来帮助大家实现,现在这样的软件类型也是非常多的,那么视频合并软件APP有哪些呢?这几款简单使用一起…查看详情

安卓播放器软件哪几款排行靠前?推荐几款好用的安卓播放器软件

现在的安卓播放器软件可以说是五花八门,选择了不同的播放器软件带来的视频资源也是不同的,如果想要更快更迅速的看到很多的新资源,那么就一定要选择一款比较不错的安卓播放器软件,这样才能够带来更好的体验,而且也会比较流畅…查看详情

程维、王兴、黄峥都瞄准了这个千亿市场,仍有入场空间

在滴滴内部全员会上,CEO程维首次公开谈及橙心优选,称:“滴滴对橙心优选的投入不设上限,全力拿下市场第一名。”这一番话也让社区团购重新回归大众视野。早在今年4月,滴滴旗下的社区团购橙心优选在四川成都试水,据滴滴透露,目…查看详情

国家著作权登记作为权威证据 独特性和可复制性缺一不可

国家著作权登记通常是在当地版权局登记,将著作权登记需要的材料递交上去,按照程序办理即可。著作权自著作诞生后自然拥有,著作权为什么要登记,是因为,一般情况下,手稿原件不一定能够保存完整,当产生著作权纠纷时,手稿原件…查看详情

mvc模式优缺点

mvc的格式和特点?MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。mvvm和mvc区别优缺点?MVVM是MVC的增强版,和MVC没有本质区...查看详情

有哪些好用的软件项目管理软件?这几款是的选择

随着网络的普及,现在在企业中的各方面管理也应用了网络的一些系统,比如说想要管理工程项目进度的话,可以使用一些比较好用的软件项目管理软件。这些软件在使用之后,针对于工作的进程可以带来更加严格和高效,以及信息化的管理…查看详情

专为中小企业整理的网站建设公司排行,供参考!

企业想要建设自己的网站,最基本的需求就是树立企业的品牌形象,开辟线上渠道,扩大服务范围,优化企业的发展规划和体系。想要达到企业的预设效果,就需要找到适合的网站建设公司。下文整理了一份中小企业网站建设公司的排行,仅…查看详情

2022年解压缩软件哪个好

现在市面上压缩软件越来越多了,但是也有许多不好用的,那么哪些软件好用呢?今天我就来给大家盘点一下2022年解压缩软件哪个好,全都是干货建议拿出本子记下来,保证你选择不会后悔,感兴趣就继续读下去吧!解压缩工具这款软件是专…查看详情

四款倍速视频播放软件,支持10倍速

随着现在的科技的进步,对于视频的研发也有了进一步的发展。人们对视频的需求是越来越大,但是有的视频的速度比较的慢,或者有些视频可以加快速度,但是又过于太快,不能够满足人们心里的一种标准。所以社会上就发明了倍数播放视…查看详情

不同渠道的网络推广价格参考

网络推广做得好,消费群体任性挑。互联网就是现代企业的新战场,商家在战场的北边通过网络推广摇旗呐喊,消费者在南边埋头互联网挥剑斩棘。战术挑选对于战争取胜至关重要,同样,网络推广渠道和方法对于消费者的影响效果也至关重…查看详情

全国企业信息公示系统怎么查询

全国企业信息公示系统是由国家工商行政管理总局维护和管理的一个*平台,旨在提供企业相关信息的公开查询服务。以下是关于如何查询全国企业信息公示系统的介绍:1. 访问网站:首先,打开浏览器,输入全国企业信用信息公示系统的…查看详情

外汇看盘软件 2022可以看外汇行情的软件

  当交易者拥有自己的MT4真实账户之后,往往会迫不及待的执行下单操作,可打开行情面板找了半天,没有找到“买入”和“卖出”的下单按钮。在默认状态下,MT4下单面板都是隐藏状态,只有熟悉一些基本的操作,才能够将它们调出来。…查看详情

微信小程序免费模板要怎么选?

随着小程序的爆火,很多企业都把目光都投放在了小程序的开发上。因为他们知道微信小程序这波福利有多大,所以都想去占领。但是随着微信小程序的制作开发,很多商家都面临到来技术的难题。因此微信小程序免费模板应运而生,既为企…查看详情

二维数组的长度

二维数组初始化时,为什么不能省略第二维的长度?如果对全部元素都付出值,则定义数组时,可以不指定第一位的长度,但第二位的长度不能少。例如:inta【3】【4】={1,2,3,4,5,6,7,8,9,10,11,12};可以写为:inta【】【...查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

已为0个客户提供专业互联网服务咨询
  • 手机号码
  • 验证码图形验证码换一张
  • 短信校验码

    电话咨询

    在线咨询