服务热线:400-0033-166
万商云集 - 企业数字化选用平台

企业首选的

数字选用平台

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

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

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

推荐阅读

电脑硬件检测软件哪个最好用

在选择电脑硬件检测软件时,最好用的软件因个人需求而异。以下是几款备受推荐的电脑硬件检测软件,每款软件都有其独特的特点和优势:1. CPU-Z:CPU-Z 是一款免费且功能强大的软件,可用于监测和识别计算机处理器、内存、主板、显卡等硬件信息。…查看详情

自然人属于什么纳税人(自然人的纳税范畴)

  自然人纳税人是本国公民及本国内从事经济活动的公民对于自己的取得的所得按照规定申报纳税的纳税人,纳税的主体是非常多的,下面小编就给大家来详细介绍一下自然人属于什么纳税人(自然人的纳税范畴)这一块的内容。希望能帮助到大家解决这一块的问题。 …查看详情

公司法人可以变更吗?麻烦吗?

众所周知,法人是要承担公司大部分责任的。我朋友开了一家公司,让我当法人,现在我不想做了,要怎么变更。下面*就给大家来介绍一下公司法人可以变更吗?麻烦吗?这一块的内容,希望能帮助到大家!公司法人可以变更吗?  首先需要一下材料:  1.公司变…查看详情

疫情后,医疗行业数字化持续爆发!

在过去的2020年,数字健康行业发展突飞猛进,互联网医院在全国加速落地开花。数据显示,截至2020年10月底,中国互联网医院的建设数量已接近900家,在2019年同期仅有269家。2015年12月,中国第一家互联网医院——乌镇互联网医院创立…查看详情

固定资产管理系统 5款好用的二维码固定资产管理系统

企业要想发展成功,就要对自己的资产进行管理,固定资产、无形资产等。每个公司都有一套适合自己的固定资产管理系统,。下面是我给大家推荐的5款固定资产管理系统软件,有需要的小伙伴可以看看哦。 1.易点固定资产管理 它是一款企业自…查看详情

海外商标注册需要注意哪些事项?以下几点应该有了解

为了能够带来更好的发展一家企业需要有自己的商标注册,这样能够对自己的品牌带来权益,保护而且也受到了法律的保护。有些产品是属于海外销售的产品,那么这个时候很多人都会选择海外商标注册,海外商标注册,其实也是需要有很多事项所注意的,这样在注册的时…查看详情

知识产权律师主要是做什么的

知识产权律师是专门从事知识产权法律事务的法律专业人士。他们在保护和维护客户的知识产权方面发挥着重要的角色。下面是一个大致的介绍,帮助你了解知识产权律师的主要工作职责和任务。 1.知识产权咨询:知识产权律师提供专业的咨询服务,帮助客户理解知识…查看详情

免费动态壁纸哪个好用呢?这几款为大家推荐

经常更新手机或者是电脑的壁纸,能够带给大家不一样的心情,而如果选择的是动态壁纸,更可以增添手机或者电脑的独特之处,让桌面也变得更为有趣,那么免费动态壁纸哪个好用呢?这几款给大家推荐一起来看看。 1、太空人动态壁纸 这款壁纸…查看详情

医院常用的信息系统有哪些?

现在各大医院每天的就诊量是特别高的,许多病人着急就医,但是到了医院还需要排队挂号,挂完号之后才可以就医,但是,对于紧急病情的患者来说,是非常难的,那么,医院系统软件有哪些? 1、掌上湘雅 通常又被称为掌上湘雅。是湘雅医院为减…查看详情

oracle官网下载安装步骤详细

下载jdk需要oracle账户怎么办?通常我们下载JavaJDK的时候,一般都会去去甲骨文(oricle)官网下载,不方便的点是需要oracle账户,而且有时候下载速度超慢;因此我们可以选择华为的Oracle国内镜像下载jdk,速度非常快;…查看详情

开视频会议用什么软件比较好 视频会议软件*

当有一些公司无法正常营业的时候,他们会安排员工在家办公,但是,每周的例会必须要照常进行,那么,就可以通过软件进行开会,首先需要知道视频会议软件哪个比较好,只有知道了软件才可以用。 1、钉钉 是通过阿里集团研发的自动化移动办公…查看详情

注册网址在哪里注册

  要注册一个网址,需要走一些步骤。首先,你需要决定你的网址应该是什么。这可能比你想象的要困难。这就是因为很多网址都已经被获得了,因此要确保你选择的网址没有被占用。接下来,你需要找到一个可以帮助你注册网址的服务提供商。以下是详细的步骤,以便…查看详情

游戏视频剪辑软件有哪些 游戏视频剪辑软件排行榜

  现在很多的游戏博主都在做游戏类自媒体,对于游戏视频的剪辑需求也是很大的,下面*就给大家来详细介绍一下游戏视频剪辑软件有哪些 游戏视频剪辑软件排行榜这一块的内容,希望能帮助到大家。  游戏视频剪辑软件有哪些  1、《快剪辑》  这里有…查看详情

个人知识产权的保护和维权问题浅析

互联网发展让知识产权的概念被更多的人知晓,版权侵犯、专利纠纷和商标抢注等各类知识产权的侵权与维权,让知识产权在企业组织之外的个人越加*。不少人对个人知识产权保护和个人知识产权维权的问题展开讨论,本文也就个人知识产权维护和维权问题进行简单的阐…查看详情

想要高性能家具产品,可以考虑以下的安全门十大品牌

因为现在大家对于高科技的家居产品越来越上心了,所以企业为了满足用户的需求也会生产很多高性能的家居产品,安全门就是其中一个,如果要想自己的家庭环境更安全,可以考虑以下的安全门十大品牌。 1、王力安防 这其实是一个为用户定义安…查看详情

最新文章