[发明专利]一种Docker环境安全下线应用服务的方法在审

专利信息
申请号: 201810739433.7 申请日: 2018-07-06
公开(公告)号: CN109062660A 公开(公告)日: 2018-12-21
发明(设计)人: 沈昌干;叶瑞森;柯都敏;李光举 申请(专利权)人: 杭州涂鸦信息技术有限公司
主分类号: G06F9/455 分类号: G06F9/455
代理公司: 杭州快知知识产权代理事务所(特殊普通合伙) 33293 代理人: 杨冬玲
地址: 310012 浙江省杭*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 环境安全 应用服务 服务 有向图 计算机软件技术 应用服务安全 中间件服务 调用服务 数据安全 维护服务 下线操作 应用启动 宿主机 拓扑 排序 应用 保存 响应 部署 安全 保证
【说明书】:

发明公开了一种Docker环境安全下线应用服务的方法,涉及计算机软件技术领域,包括:(1)在应用中为每个服务(主要包括Tomcat容器、中间件服务)提供该服务下线的功能,然后开启简单的本地http服务,用于响应宿主机(localhost)发起的http请求,然后执行服务下线操作。(2)应用启动时维护服务间依赖有向图。(3)当执行“Docker stop”前根据服务依赖的有向图的拓扑排序依次调用服务的http接口,安全下线服务。本发明所述的方法旨在解决上述应用通过Docker部署时遇到的几个缺陷,提供应用服务安全下线的方法,在Docker关闭前依次关闭所有服务,保证任务顺利完成、数据安全保存。

技术领域

本发明涉及计算机软件技术领域,尤其涉及一种Docker环境安全下线应用服务的方法。

背景技术

Docker是一个开源的应用容器引擎,在物理主机上安装Docker后,可在Docker的基础上承载多个容器,多个容器之间相互隔离,多个容器共享物理主机的操作系统,各容器可放置并执行不同的应用程序。Docker是操作系统层面上构建的虚拟化技术,极大简化了应用部署步骤和维护成本,使得开发者很容易构建弹性的云服务和微服务架构。但是在应用重新部署时(部署过程经过停止Docker、销毁Docker、创建Docker过程),若Docker内尚有任务或服务在运行,此时停止Docker会导致不可预测的事情发生,如数据尚未保存到数据库导致数据丢失。

举个例子来说,Docker容器将应用所需的资源打包在其镜像中,独立进程运行Docker实例;Linux操作系统,作为宿主机,可以部署多个Docker容器;用shell或python脚本,在Linux操作系统通过Docker容器的创建、停止、销毁等操作,从而控制应用的部署;http用于和Docker实例内的服务通信;Tomcat/jetty等容器用来部署应用。以Tomcat容器部署应该为例,部署应用会经过下线应用内的服务和销毁容器,进程被关闭以及创建容器并部署三个步骤。

在使用Docker部署应用的场景中,会把Tomcat容器和所需的资源都打包到Docker镜像,然后通过控制Docker来控制内部Tomcat的启动过程。一般先发送“Docker stop”命令,会向Docker实例的PID=1的进程发送SIGTERM信号,旨在停止Docker;然后Docker实例接收到SIGTERM信号后,关闭进程;最后重新部署新的Docker实例,启动内部的Tomcat容器,从而启动应用。

宿主机通过“Docker stop”命令发送的SIGTERM信号,Docker实例接收到后会在设定时间内完成关闭Docker操作。Tomcat和运行在Tomcat内部的JAVA服务,要么没有下线操作,要么是通过启动时向JVM注入的钩子ShutdownHook,然后JVM销毁前完成下线操作。这个情况存在的缺陷:(1)“Docker stop”命名发送后,会等待一段时间,超过时间则强制杀死进程,不管Docker实例内的应用是否还有未完成的任务在运行;(2)应用内启动的服务很多没有提供安全下线的操作,在JVM销毁时可能还有任务在运行;(3)很多服务相互之间存在依赖关系,若被依赖的服务先关闭,则导致正在运行的任务失败,如图1所示的应用服务间依赖有向图,其中如kafka消费者依赖dubbo、redis等服务,dubbo服务先关闭,则正在运行的kafka消费任务便会执行失败。这些缺陷会使得任务未运行关闭就被关闭,造成如数据未被持久化到数据库等不可预知的后果。

发明内容

本发明所述的方法旨在解决上述应用通过Docker部署时遇到的几个缺陷,提供应用服务安全下线的方法,在Docker关闭前依次关闭所有服务,保证任务顺利完成、数据安全保存。

本发明所述的一种Docker环境安全下线应用服务的方法,包括:

为每个Dockers环境中的应用服务增加下线功能;

所述应用服务启动时维护应用服务间的依赖有向图;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州涂鸦信息技术有限公司,未经杭州涂鸦信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810739433.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top