【技术实现步骤摘要】
基于docker容器的微服务系统及方法
本专利技术涉及计算机互联网
,尤其涉及一种基于docker容器的微服务系统及方法。
技术介绍
微服务是基于Restful风格的,通过RESTAPI接口与外部通讯,实现特定的业务范围内的一个完全独立、细粒度、自包含的一个服务。微服务的目的是有效拆分应用,实现敏捷开发和部署。微服务需要运行在一套独立的环境下,这套环境不能对外部有依赖性;同时,为了节省资源,运行环境的粒度必须足够的小。一个微服务可以跑在一台虚拟机上面,但是虚拟机粒度太大,即使最小的虚拟机,也至少也有1个核。服务一个用户的服务,显然用不了一个核。而Docker为微服务提供了一个非常完美的运行环境。Docker是一种软件容器平台,它使用容器技术,所有运行一个应用程序所需的资源都会被打包到一个单独的容器中。不像VMs(虚拟机技术),容器不需要绑定一个完整的操作系统,只需要运行某个应用程序所需的类库和相关设置,可以在一台物理机上部署多个容器。这种方式更加高效、轻量级并保证无论部署在什么环境,应用程序都能保持一致的运行效果。这样的优势很明显,因而大大提高了资源利用率, ...
【技术保护点】
一种基于docker容器的微服务系统,其特征在于:包括物理层、服务层、应用层和接口层,所述物理层、服务层、应用层与接口层相互通信连接,所述物理层包括Gitlab控制模块、DockerRegistry控制模块、Jenkins控制模块、Mesos控制模块、Matathon控制模块和RabbitMQ消息队列模块,所述Mesos控制模块内部具有Mesos‑DNS,所述Matathon控制模块内部具有Marathon‑lb,所述Gitlab控制模块用于实现统一的代码管理,所述DockerRegistry控制模块用于实现统一的镜像管理,所述Jenkins控制模块用于自动构建可部署的应用 ...
【技术特征摘要】
1.一种基于docker容器的微服务系统,其特征在于:包括物理层、服务层、应用层和接口层,所述物理层、服务层、应用层与接口层相互通信连接,所述物理层包括Gitlab控制模块、DockerRegistry控制模块、Jenkins控制模块、Mesos控制模块、Matathon控制模块和RabbitMQ消息队列模块,所述Mesos控制模块内部具有Mesos-DNS,所述Matathon控制模块内部具有Marathon-lb,所述Gitlab控制模块用于实现统一的代码管理,所述DockerRegistry控制模块用于实现统一的镜像管理,所述Jenkins控制模块用于自动构建可部署的应用,所述Mesos控制模块和Matathon控制模块均用于对服务器资源管理与编排,所述Marathon-lb、Mesos-DNS用于实现服务的自动发现,所述RabbitMQ消息队列模块用于解决进程间的通讯;所述服务层具有Docker容器,所述服务层以Docker容器为基础实现微服务化,微服务化需要若干个模块,每个模块都是一个独立的应用,所述模块包括Eureka服务注册中心、Mesos管理服务、Matathon管理服务、HTTP连接池、DockerRegistry管理服务、数据库连接池、数据库管理服务和Jenkins管理服务,所述Eureka服务注册中心用于实现各模块之间的服务发现,所述HTTP连接池用于完成各个服务模块之间的HTTP调用,所述数据库管理服务用于管理数据库中构建与部署应用所需的信息、镜像信息、用户信息,所述Jenkins管理服务用于将项目构建所需信息组装成XML后并通过JenkinsAPI向Jenkins发送构建请求或者查询构建记录与构建日志,所述DockerRegistry管理服务用于统一管理基础镜像与构建项目的镜像,所述Matathon管理服务用于将应用部署所需信息组合成JSON后并通过MatathonAPI提交给Marathon完成应用部署或者查询应用部署的相关信息;所述应用层用于构建与发布管理,所述应用层的构建方法如下:用户提交的构建项目的信息通过数据库管理服务存储于数据库中,Jenkins管理服务从数据库中取出构建所需的信息,然后向持续化集成平台Jenkins发起构建请求,从Gitlab上拉取代码,然后开始构建,构建完成后,根据Dockerfile打包成Dock...
【专利技术属性】
技术研发人员:张琦,任治州,颜彬彬,涂霖,
申请(专利权)人:四川长虹电器股份有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。