一种分布式服务的管理方法和系统技术方案

技术编号:15257819 阅读:227 留言:0更新日期:2017-05-03 04:45
本发明专利技术公开了一种分布式服务的管理方法和系统。本实施在启动容器时获取与容器绑定的服务的配置信息模板,并基于服务配置信息模板生成容器服务的配置信息;容器引擎经由服务发现代理向服务注册服务器发送容器服务的配置信息;服务注册服务器基于接收到容器服务的配置信息,对部署在同一容器主机中的全部服务进行注册;容器引擎经由服务发现代理向服务注册服务器发送服务心跳请求;服务注册服务器基于所接收到的服务心跳请求,对部署在同一容器主机中的全部服务进行检测。本实施通过容器引擎合并部署在同一容器主机中的全部服务的注册、注销请求以及服务心跳请求,降低注册服务器的通信开销,缓解注册服务器的负载压力。

Method and system for managing distributed service

The invention discloses a method and a system for managing distributed services. The implementation of configuration information acquisition and container service in the container when starting the binding template, and based on the configuration information service configuration information template generation container service; container engine via the service discovery agent registration server configuration information sent to the service container service; service registration server receives the configuration information of container service based on the registration of all service deployment in the same container in the host container via service discovery engine; the registration server sends the service request to the heartbeat service agent; service registration server based on the received service request to detect heartbeat, all services are deployed in the same container in the host. The implementation of the deployment of all services in the same container in the container with the engine through the host registration, cancellation request and service heartbeat request, reduces the communication overhead of the registration server, lighten the load of the registration server.

【技术实现步骤摘要】

本专利技术涉及分布式系统领域,特别涉及一种分布式服务的管理方法和系统
技术介绍
服务发现是面向服务的分布式系统中实现服务透明调用的关键技术,用基于服务名字的通信方式代替传统基于IP/主机名的通信方式,服务提供者用服务名向注册服务器注册服务配置,服务使用者用服务名向注册服务器查询服务配置,绑定服务的实际IP和端口。典型的服务发现机制如图1所示,包括服务提供者、服务使用者和服务注册服务器,服务提供者和服务使用者均内置了服务发现SDK,服务发现SDK负责与注册服务器进行通信,向服务提供者和服务使用者提供透明的服务发现API。服务提供者启动后通过服务发现SDK向注册服务器注册服务配置信息,注册服务器记录服务名与服务配置信息的对应关系。服务使用者需要使用服务时通过服务发现SDK向用服务名向注册服务器查询服务配置、绑定服务配置,并向服务提供者发起服务调用。在现有服务发现技术中,服务使用者的每次服务查询请求和服务提供者的每次服务注册、服务心跳、注销请求都要与注册服务器进行一次通信,而大型的分布式应用往往由数以万计的服务使用者和服务提供者实例构成,大量并发的服务查询、注册和注销通信会造成大量的网本文档来自技高网...

【技术保护点】
一种分布式服务的管理方法,其特征在于,包括:在启动容器时获取与容器绑定的服务的服务配置信息模板,并基于所述服务配置信息模板生成容器服务的配置信息;所述容器引擎经由服务发现代理向服务注册服务器发送所述容器服务的配置信息;所述服务注册服务器基于接收到所述容器服务的配置信息,对所述部署在同一容器主机中的全部服务进行注册;所述容器引擎经由服务发现代理向服务注册服务器发送服务心跳请求,其中所述服务心跳请求包括所述容器服务的配置信息;所述服务注册服务器基于所接收到的所述服务心跳请求,对所述部署在同一容器主机中的全部服务进行检测。

【技术特征摘要】
1.一种分布式服务的管理方法,其特征在于,包括:在启动容器时获取与容器绑定的服务的服务配置信息模板,并基于所述服务配置信息模板生成容器服务的配置信息;所述容器引擎经由服务发现代理向服务注册服务器发送所述容器服务的配置信息;所述服务注册服务器基于接收到所述容器服务的配置信息,对所述部署在同一容器主机中的全部服务进行注册;所述容器引擎经由服务发现代理向服务注册服务器发送服务心跳请求,其中所述服务心跳请求包括所述容器服务的配置信息;所述服务注册服务器基于所接收到的所述服务心跳请求,对所述部署在同一容器主机中的全部服务进行检测。2.根据权利要求1所述的管理方法,其特征在于,所述服务注册服务器基于所接收到的所述服务心跳请求,对所述部署在同一容器主机中的全部服务进行心跳检测,具体包括:若所述服务注册服务器接收到所述服务心跳请求,则获取部署在同一容器主机中的全部服务的配置信息,并向所述容器引擎返回服务心跳响应;若容器引擎未接收到服务心跳,则所述容器引擎删除所述服务配置信息。3.根据权利要求1所述的管理方法,其特征在于,所述容器引擎经由服务发现代理向服务注册服务器发送所述容器服务的配置信息,具体包括:所述容器引擎向服务发现代理发送容器服务的配置信息;所述服务发现代理接收所述容器服务的配置信息,获取部署在同一容器主机中的全部服务的配置信息,并将所述全部服务的配置信息
\t存储在服务发现代理的本地缓存中。4.根据权利要求1所述的方法,其特征在于,所述服务的配置信息包括:服务名、服务实例号、服务过期时间(TimetoLive,TTL)、通信协议、服务接口、服务IP地址和服务端口。5.根据权利要求4所述的管理方法,其特征在于,所述的管理方法还包括:当容器引擎查询服务时,服务发现代理查询存储在本地缓存中的部署在同一容器主机中的全部服务的配置信息;若通过服务发现代理查询到服务的配置信息时,判断查询到的服务的配置信息的当前时间是否超过服务的配置失效时间;若当前时间没有超过服务的配置失效时间时,服务发现代理向容器管理者返回查询到的服务的配置信息;若当前时间超过服务的配置失效时间时,服务发现代理删除本地缓存中的超过服务的配置失效时间的服务的配置信息,并向服务注册服务器发送服务查询请求,以便服务注册服务器为容器引擎分配服务的配置信息;其中,所述服务的配置失效时间=服务的配置消息的设置时间+TTL。6.根据权利要求5所述的管理方法,其特征在于,若未查询到服务的配置信息时,服务发现代理向服务注册服务器发送服务查询请求;服务注册服务器接收所述服务查询请求,并通过服务发现代理向容器引擎发送服务的配置信息。7.根据权利要求6所述的管理方法,其特征在于,通过服务发现代理向管理服务器发送服务的配置信息,具体包括:服务注册服务器向服务发现代理发送服务的配置信息;服务发现代理接收服务注册服务器发送的服务的配置信息,并将所述服务的配置信息存储到服务发现代理的本地缓存;服务发现代理将所述服务的配置信息发送给容器引擎。8.根据权利要求4所述的管理方法,其特征在于,所述的管理方法还包括:容器引擎通过服务发现代理的查询接口,根据服务的调度策略,查询存储在本地缓存中的部署在同一容器主机中的全部服务的配置信息;或者容器引擎通过服务发现代理的查询接口,根据服务的配置信息中的服务名和服务实例号,查询存储在本地缓存中的部署在同一容器主机中的全部服务的配置信息;或者容器引擎通过服务发现代理的查询接口,根据服务配置的服务名和服务IP地址,查询存储在本地缓存中的部署在同一容器主机中的全部服务的配置信息。9.根据权利要求1所述的管理方法,其特征在于,所述的管理方法还包括:在容器引擎通过服务发现代理向服务注册服务器发送服务心跳请求或容器服务配置请求前,对所述服务心跳请求或容器服务配置请求进行压缩。10.根据权利要求4所述的管理方法,其特征在于,所述的方法还包括:容器引擎在接收到服务的配置信息后,根据服务配置信息中的通信协议、服务IP地址、服务端口和服务接口信息向容器发送服务调用请求;容器引擎接收所述服务调用请求,向容器引擎返回服务调用响应,以便容器管理者完成服务调用。11.根据权利要求1所述的管理方法,其特征在于,所述的方法还包括:当容器停止服务或暂停服务时,容器引擎根据同一容器主机中的全部服务的服务名生成容器服务的配置信息;所述容器引擎经由服务发现代理向服务注册服务器发送所述容器服务的配置信息;所述服务注册服务器基于接收到所述容器服务的配置信息,对所述部署在同一容器主机中的全部服务进行注销。12.根据权利要求1所述的管理方法,其特征在于,容器引擎获取部署在同一容器主机中的全部服务的配置信息,具体包括:容器引...

【专利技术属性】
技术研发人员:何震苇杨新章陆钢李慧云张凌严丽云李蓉蓉周荣生文锦军
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京;11

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

1