一种分布式系统快速部署方法及系统技术方案

技术编号:19489011 阅读:24 留言:0更新日期:2018-11-17 12:00
本发明专利技术公开了一种分布式系统快速部署方法及系统,该方法包括:各个子系统的开发人员,梳理其负责的子系统配置参数并编写该子系统的镜像文件,制作Docker镜像;对于各个子系统需要的数据库初始化数据;各个子系统的开发人员编写镜像使用文档,定义如何使用该镜像创建容器;将各个子系统的依赖关系、参数配置基于代码实现自动化管理;交付人员编写Docker的自动化部署脚本;整个系统的架构师、负责人,基于分布式部署脚本,整理出相关的使用文档,指导交付人员使用。该系统包括:初始化模块、公共组件模块、业务子系统模块。本发明专利技术将分布式部署脚本Ansible与Docker容器技术结合,能够快速的完成分布式部署系统的部署,加速软件交付,降低交付与运维复杂度。

【技术实现步骤摘要】
一种分布式系统快速部署方法及系统
本专利技术涉及云计算
,更具体地,涉及一种分布式系统快速部署方法及系统。
技术介绍
随着软件技术架构的演进,以及业务功能的逐渐增多,一个产品或者系统开始由单体巨石应用,演变为SOA架构、微服务架构、Serverless架构,架构的演进解决了业务的需求,但是提高了软件部署、运维的复杂度。目前对于复杂分布式系统的部署存在以下问题:1、业务开发人员,根据研发过程,整理复杂的部署文档,文档中描述详细的部署步骤、参数配置,但由于业务功能更新,部署文档通常无法及时更新,交付人员在安装部署文档进行项目交付时,可能由于部署文档未更新,或者对文档理解问题,导致部署失败、配置失败等问题。2、业务开发人员针对部署,编写自动化部署脚本完成部署,但通常由于生产环境的不可预知的问题,导致无法自动部署。3、通常情况下,选择虚拟机进行部署,但是对于多数应用来说,虚拟机资源无法被充分使用,存在资源利用率低的问题。因此,基于以上特点,设计一种分布式系统快速部署方法及系统,能够完成复杂分布式系统的快速部署与配置,加速软件交付,降低交付与运维复杂度,就成为了本领域技术人员亟待解决的技术问题。
技术实现思路
有鉴于此,本专利技术提供了一种分布式系统快速部署方法及系统,以解决现有技术中的问题。本专利技术公开了一种分布式系统快速部署方法,包括:各个子系统的开发人员,梳理其负责的子系统配置参数并编写该子系统的镜像文件,制作Docker镜像,测试该镜像是否正常运行,并将制作好的镜像进行归档,且基于子系统版本进行镜像管理;对于各个子系统需要的数据库初始化数据,采用将数据存储到镜像的方式,即制作好的Docker镜像,包含该子系统需要的初始化数据;各个子系统的开发人员编写镜像使用文档,描述基于该Docker镜像启动容器需要的参数配置,定义如何使用该镜像创建容器;整个系统的架构师或者负责人,梳理全部子系统的部署架构、各个子系统的依赖关系、参数配置,将各个子系统的依赖关系、参数配置以Ansible脚本的方式进行管理,即将各个子系统的依赖关系、参数配置基于代码实现自动化管理;交付人员梳理Docker运行需要的依赖包,并编写Docker的自动化部署脚本;整个系统的架构师或者负责人,基于分布式部署脚本,整理出相关的使用文档,指导交付人员使用。优选的,子系统版本更新时,通过DevOps流程,实现Docker镜像的制作与更新。优选的,Docker镜像启动容器需要的参数包括配置项名称、启动容器时需要配置的环境变量名称、环境变量参考值、是否必选、参数注意事项。优选的,将各个子系统的依赖关系、参数配置基于代码实现自动化管理具体为:编写该业务系统的Ansible脚本,将各个子系统的相互依赖关系基于Ansible脚本进行管理。进一步优选的,Ansible脚本的具体开发流程如下:编写分布式部署Docker脚本、编写部署各个子系统的脚本。进一步优选的,编写分布式部署Docker脚本之前,还包括完成yum源仓库搭建;完成pip源仓库搭建;关闭各个服务器的防火墙;在各个节点安装Docker;配置Docker的参数。进一步优选的,编写部署各个子系统的脚本,包括:获取部署子系统的节点;获取子系统使用的Docker镜像版本与配置文件;将子系统镜像复制到指定节点;生成子系统容器启动需要的配置参数;在各节点启动容器。另一方面,本专利技术还公开了一种分布式系统快速部署系统,包括初始化模块、公共组件模块、业务子系统模块;初始化模块,用于完成分布式部署的初始化操作,初始化操作具体包括采集各个子系统部署在哪些节点,在各个节点部署Docker、关闭防火墙,选择某个节点部署镜像仓库;公共组件模块,用于完成公共组件的容器化部署,容器化部署具体包括完成公共组件的部署,并将公共组件的访问地址进行缓存,以保留业务子系统启动时需要的参数配置信息;业务子系统模块,用于完成业务相关的子系统的部署与配置,将各个子系统以容器的方式启动。优选的,公共组件包括数据库、缓存、消息队列。优选的,参数配置信息包括配置项名称、启动容器时需要配置的环境变量名称、环境变量参考值、是否必选、参数注意事项。与现有技术相比,本专利技术提供的分布式系统快速部署方法及系统,至少实现了如下的有益效果:1、本专利技术在各个子系统完成业务功能开发后,编写该子系统的镜像文件,用于制作Docker镜像,交付人员编写分布式部署脚本,包含多个子系统的参数配置、容器启动等功能,将分布式部署脚本Ansible与Docker容器技术结合,能够快速的完成分布式部署系统的部署,降低复杂业务系统的交付难度;2、本专利技术基于当前通用的容器技术将多个业务系统进行打包,以镜像的方式标准化交付产物,可以隔离生产环境与研发环境不一致的问题;3、本专利技术通过云计算Docker技术完成复杂分布式系统的快速部署与配置,能够加速软件交付,降低交付与运维复杂度;4、本专利技术同时基于分布式部署脚本Ansible,实现分布式系统的灵活、自动化部署,加速项目交付;5、本专利技术的分布式部署脚本采用Ansible,该脚本语言支持跨平台,可以支持在多个Linux发行版中实现分布式部署,能够适应多种不同的项目交付环境;6、本专利技术应用的交付采用业界标准的容器镜像进行交付,能够很好的隔离应用运行环境与项目交付环境,减少对项目交付环境的依赖;7、本专利技术的参数配置数量降低,各个子系统的依赖参与由分布式部署脚本内部自动配置,通常情况下,只需要配置主机服务IP就可以完成复杂系统的分布部署;8、本专利技术是通用的分布式系统快速部署方法,为研发人员如何制作镜像、编写Ansible脚本提供参考方法,同时指导交付人员如何使用Ansible部署脚本,降低交付复杂度,即描述了一个传统的应用如何制作镜像、Ansible脚本编写思路、交付人员如何使用等;9、使用本专利技术的分布式系统快速部署方法及系统,交付人员只需要简单配置部署节点的IP地址,执行一条脚本命令就可以实现整个分布式系统的快速部署,不再需要进行复杂的参数配置,简单快捷。当然,实施本专利技术的任一产品必不特定需要同时达到以上所述的所有技术效果。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明被结合在说明书中并构成说明书的一部分的附图示出了本专利技术的实施例,并且连同其说明一起用于解释本专利技术的原理。图1是本专利技术实施例提供的一种分布式系统快速部署方法流程图;图2是本专利技术实施例提供的另一种分布式系统快速部署方法流程图;图3是本专利技术实施例提供的一种分布式系统快速部署系统的构成示意图;图4是本专利技术实施例提供的又一种分布式系统快速部署方法流程图;图5是通过图4所示的方法实现分布式系统快速部署的原理框图;图6是图4所示的方法中步骤404、步骤405、步骤406的具体流程图。具体实施方式现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视本文档来自技高网...

【技术保护点】
1.一种分布式系统快速部署方法,其特征在于,包括:各个子系统的开发人员,梳理其负责的子系统配置参数并编写子系统的镜像文件,制作Docker镜像,测试该镜像是否正常运行,并将制作好的镜像进行归档,且基于子系统版本进行镜像管理;对于各个子系统需要的数据库初始化数据,采用将数据存储到镜像的方式,即制作好的Docker镜像,包含该子系统需要的初始化数据;各个子系统的开发人员编写镜像使用文档,描述基于该Docker镜像启动容器需要的参数配置,定义如何使用该镜像创建容器;整个系统的架构师或者负责人,梳理全部子系统的部署架构、各个子系统的依赖关系、参数配置,将各个子系统的依赖关系、参数配置以Ansible脚本的方式进行管理,即将各个子系统的依赖关系、参数配置基于代码实现自动化管理;交付人员梳理Docker运行需要的依赖包,并编写Docker的自动化部署脚本;整个系统的架构师或者负责人,基于分布式部署脚本,整理出相关的使用文档,指导交付人员使用。

【技术特征摘要】
1.一种分布式系统快速部署方法,其特征在于,包括:各个子系统的开发人员,梳理其负责的子系统配置参数并编写子系统的镜像文件,制作Docker镜像,测试该镜像是否正常运行,并将制作好的镜像进行归档,且基于子系统版本进行镜像管理;对于各个子系统需要的数据库初始化数据,采用将数据存储到镜像的方式,即制作好的Docker镜像,包含该子系统需要的初始化数据;各个子系统的开发人员编写镜像使用文档,描述基于该Docker镜像启动容器需要的参数配置,定义如何使用该镜像创建容器;整个系统的架构师或者负责人,梳理全部子系统的部署架构、各个子系统的依赖关系、参数配置,将各个子系统的依赖关系、参数配置以Ansible脚本的方式进行管理,即将各个子系统的依赖关系、参数配置基于代码实现自动化管理;交付人员梳理Docker运行需要的依赖包,并编写Docker的自动化部署脚本;整个系统的架构师或者负责人,基于分布式部署脚本,整理出相关的使用文档,指导交付人员使用。2.根据权利要求1所述的一种分布式系统快速部署方法,其特征在于,所述子系统版本更新时,通过DevOps流程,实现Docker镜像的制作与更新。3.根据权利要求1所述的一种分布式系统快速部署方法,其特征在于,所述Docker镜像启动容器需要的参数包括配置项名称、启动容器时需要配置的环境变量名称、环境变量参考值、是否必选、参数注意事项。4.根据权利要求1所述的一种分布式系统快速部署方法,其特征在于,所述将各个子系统的依赖关系、参数配置基于代码实现自动化管理具体为:编写该业务系统的Ansible脚本,将各个子系统的相互依赖关系基于Ansible脚本进行管理。5.根据权...

【专利技术属性】
技术研发人员:王德奎郑其荣李文杰赵海涛艾永健李鹏马述杰
申请(专利权)人:泰华智慧产业集团股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1