• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種分布式服務的管理方法和系統技術方案

    技術編號:15257819 閱讀:218 留言: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向用服務名向注冊服務器查詢服務配置、綁定服務配置,并向服務提供者發起服務調用。在現有服務發現技術中,服務使用者的每次服務查詢請求和服務提供者的每次服務注冊、服務心跳、注銷請求都要與注冊服務器進行一次通信,而大型的分布式應用往往由數以萬計的服務使用者和服務提供者實例構成,大量并發的服務查詢、注冊和注銷通信會造成大量的網絡開銷,也對注冊服務器的負載帶來巨大壓力。
    技術實現思路
    本專利技術實施例所要解決的一個技術問題是:分布式服務的注冊服務器負載過大的問題。根據本專利技術實施例的一個方面,提供的一種分布式服務的管理方法,包括:在啟動容器時獲取與容器綁定的服務的配置信息模板,并基于所述服務的配置信息模板生成容器服務的配置信息;容器引擎經由服務發現代理向服務注冊服務器發送容器服務的配置信息;服務注冊服務器基于接收到容器服務的配置信息,對部署在同一容器主機中的全部服務進行注冊;容器引擎經由服務發現代理向服務注冊服務器發送服務心跳請求,其中服務心跳請求包括容器服務的配置信息;服務注冊服務器基于所接收到的服務心跳請求,對部署在同一容器主機中的全部服務進行檢測。在一個實施例中,服務注冊服務器基于所接收到的所述服務心跳請求,對部署在同一容器主機中的全部服務進行心跳檢測,具體包括:若服務注冊服務器接收到所述服務心跳請求;則獲取部署在同一容器主機中的全部服務的配置信息,并向容器引擎返回服務心跳響應;若服務注冊服務器未接收到服務心跳請求,則容器引擎刪除服務配置信息。在一個實施例中,容器引擎經由服務發現代理向服務注冊服務器發送容器服務的配置信息,具體包括:容器引擎向服務發現代理發送容器服務的配置信息;服務發現代理接收容器服務的配置信息,獲取部署在同一容器主機中的全部服務的配置信息,并將全部服務的配置信息存儲在服務發現代理的本地緩存中。在一個實施例中,服務的配置信息包括:服務名、服務實例號、服務過期時間(TimetoLive,TTL)、通信協議、服務接口、服務IP地址和服務端口。在一個實施例中,分布式服務的管理方法還包括:當容器引擎查詢服務時,服務發現代理查詢存儲在本地緩存中的部署在同一容器主機中的全部服務的配置信息;若通過服務發現代理查詢到服務的配置信息時,判斷查詢到的服務的配置信息的當前時間是否超過服務的配置失效時間;若當前時間沒有超過服務的配置失效時間時,服務發現代理向容器管理者返回查詢到的服務的配置信息;若當前時間超過服務的配置失效時間時,服務發現代理刪除本地緩存中的超過服務的配置失效時間的服務的配置信息,并向服務注冊服務器發送服務查詢請求,以便服務注冊服務器為容器引擎分配服務的配置信息;其中,服務的配置失效時間=服務的配置消息的設置時間+TTL。在一個實施例中,若未查詢到服務的配置信息時,服務發現代理向服務注冊服務器發送服務查詢請求;服務注冊服務器接收服務查詢請求,并通過服務發現代理向容器引擎發送服務的配置信息。在一個實施例中,通過服務發現代理向管理服務器發送服務的配置信息,具體包括:服務注冊服務器向服務發現代理發送服務的配置信息;服務發現代理接收服務注冊服務器發送的服務的配置信息,并將服務的配置信息存儲到服務發現代理的本地緩存;服務發現代理將服務的配置信息發送給容器引擎。在一個實施例中,分布式服務的管理方法還包括:容器引擎通過服務發現代理的查詢接口,根據服務的調度策略,查詢存儲在本地緩存中的部署在同一容器主機中的全部服務的配置信息;或者容器引擎通過服務發現代理的查詢接口,根據服務的配置信息中的服務名和服務實例號,查詢存儲在本地緩存中的部署在同一容器主機中的全部服務的配置信息;或者容器引擎通過服務發現代理的查詢接口,根據服務配置的服務名和服務IP地址,查詢存儲在本地緩存中的部署在同一容器主機中的全部服務的配置信息。在一個實施例中,本實施例的方法包括:在容器引擎通過服務發現代理向服務注冊服務器發送服務心跳請求或容器服務配置請求前,對服務心跳請求或容器服務配置請求進行壓縮。在一個實施例中,分布式服務的管理方法還包括:容器引擎在接收到服務的配置信息后,根據服務配置信息中的通信協議、服務IP地址、服務端口和服務接口信息向容器發送服務調用請求;容器引擎接收服務調用請求,向容器引擎返回服務調用響應,以便容器管理者完成服務調用。在一個實施例中,分布式服務的管理方法還包括:容器引擎根據同一容器主機中的全部服務的服務名生成容器服務的配置信息;容器引擎經由服務發現代理向服務注冊服務器發送容器服務的配置信息;服務注冊服務器基于接收到容器服務的配置信息,對部署在同一容器主機中的全部服務進行注銷。在一個實施例中,容器引擎獲取部署在同一容器主機中的全部服務的配置信息,具體包括:容器引擎提取同一容器主機中的全部服務的服務鏡像文件,并提取服務的配置信息。根據本專利技術實施例的一個方面,提供的一種分布式服務的管理系統,包括:容器引擎和服務注冊服務器;其中,容器引擎包括:信息配置單元和發送單元;信息配置單元,用于在啟動容器時獲取與容器綁定的服務的配置信息模板,并基于所述服務的配置信息模板生成容器服務的配置信息;發送單元,用于由服務發現代理向服務注冊服務器發送容器服務的配置信息;服務注冊服務器包括:注冊單元,用于基于接收到容器服務的配置信息,對部署在同一容器主機中的全部服務進行注冊;發送單元,用于由服務發現代理向服務注冊服務器發送所述容器服務的配置信息;還用于經由服務發現代理向服務注冊服務器發送服務心跳請求,其中所述服務心跳請求包括所述容器服務的配置信息;服務注冊服務器包括:注冊單元和心跳檢測單元;注冊單元,用于基于接收到所述容器服務的配置信息,對所述部署在同一容器主機中的全部服務進行注冊;心跳檢測單元,用于基于所接收到的所述服務心跳請求,對所述部署在同一容器主機中的全部服務進行檢測。在一個實施例中,心跳檢測單元具體用于:當接收到服務心跳請求時;則獲取部署在同一容器主機中的全部服務的配置信息,并向容器引擎返回服務心跳響應;若服務注冊服務器未接收到服務心跳請求時,則刪除所述服務配置信息。在一個實施例中,分布式服務的管理系統還包括:服務發現代理;服務發現代理,用于接收容器服務的配置信息,獲取部署在同一容器主機中的全部服務的配置信息,并將全部服務的配置信息存儲在服務發現代理的本地緩存中;所述容器引擎,用于向服務發現代理發送容器服務的配置信息。在一個實施例本文檔來自技高網...

    【技術保護點】
    一種分布式服務的管理方法,其特征在于,包括:在啟動容器時獲取與容器綁定的服務的服務配置信息模板,并基于所述服務配置信息模板生成容器服務的配置信息;所述容器引擎經由服務發現代理向服務注冊服務器發送所述容器服務的配置信息;所述服務注冊服務器基于接收到所述容器服務的配置信息,對所述部署在同一容器主機中的全部服務進行注冊;所述容器引擎經由服務發現代理向服務注冊服務器發送服務心跳請求,其中所述服務心跳請求包括所述容器服務的配置信息;所述服務注冊服務器基于所接收到的所述服務心跳請求,對所述部署在同一容器主機中的全部服務進行檢測。

    【技術特征摘要】
    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
    主站蜘蛛池模板: 国产精品无码2021在线观看| 久久久91人妻无码精品蜜桃HD| 国产莉萝无码AV在线播放| 亚洲中文字幕久久无码| 亚洲无码日韩精品第一页| 亚洲av无码专区亚洲av不卡| 日韩AV无码中文无码不卡电影| heyzo高无码国产精品| 亚洲av激情无码专区在线播放| 中文字幕无码av激情不卡久久| 免费一区二区无码视频在线播放| 无码尹人久久相蕉无码| 国产精品无码a∨精品| 久久久久亚洲av无码专区蜜芽| 亚洲精品久久无码av片俺去也 | 无码激情做a爰片毛片AV片 | 亚洲成在人线在线播放无码| 中文字幕乱偷无码AV先锋| 亚洲精品中文字幕无码蜜桃| 西西4444www大胆无码| 欧美性生交xxxxx无码影院∵| 日韩精品人妻系列无码专区免费| 久久亚洲AV永久无码精品| 无码人妻少妇伦在线电影| 久久亚洲精品成人无码| 精品亚洲AV无码一区二区| 无码办公室丝袜OL中文字幕 | 无码国产精品一区二区免费I6| 亚洲av激情无码专区在线播放| 亚洲成?Ⅴ人在线观看无码| 国产精品无码aⅴ嫩草| 中文无码精品一区二区三区| 免费A级毛片无码A| 精品无码国产污污污免费| 国产乱妇无码大片在线观看| 免费无码国产V片在线观看| 在线观看无码的免费网站| 无码人妻精品一区二区三区不卡| 精品人妻系列无码人妻漫画| 无码天堂va亚洲va在线va| 精品久久久久久无码人妻蜜桃|