微服務的統(tǒng)一管理系統(tǒng)及方法
【專利摘要】本發(fā)明涉及服務器技術(shù)領(lǐng)域,公開了一種微服務的統(tǒng)一管理系統(tǒng)及方法。其中該微服務的統(tǒng)一管理系統(tǒng)包含:分布式協(xié)調(diào)服務器,用于部署分布式應用程序協(xié)調(diào)服務(zookeeper);以及多個客戶端服務器,用于安裝微服務的應用程序,以將微服務部署于所述多個客戶端服務器上;其中,所述分布式協(xié)調(diào)服務器與所述多個客戶端服務器之間構(gòu)成分布式服務系統(tǒng),且所述分布式協(xié)調(diào)服務器與所述客戶端服務器之間采用所述分布式應用程序協(xié)調(diào)服務來統(tǒng)一管理所述客戶端服務器中安裝的所述微服務。本發(fā)明中,可以有效利用服務器資源來管理微服務,減少服務器維護人員的工作量。
【專利說明】
微服務的統(tǒng)一管理系統(tǒng)及方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及服務器技術(shù)領(lǐng)域,特別涉及一種微服務的統(tǒng)一管理系統(tǒng)及方法。
【背景技術(shù)】
[0002 ]近些年來,微服務正在博客、社交媒體討論組和會議演講中獲得越來越多的關(guān)注。它是一種軟件構(gòu)架的新名詞。其中,微服務架構(gòu)模式和其所描述的軟件風格正在為敏捷部署以及復雜企業(yè)應用實施提供巨大的幫助。其中,微服務例如可以為查詢服務、評論服務、排tx榜服務,等等。
[0003]傳統(tǒng)的服務部署方式,是將所有的服務統(tǒng)一部署于一臺服務器上,這樣部署人員就只需要部署一次。但是此種方式存在的問題是,當某一服務出現(xiàn)問題時,就會產(chǎn)生其他服務不能正常運行的問題。
[0004]而微服務構(gòu)架就像是把小的服務開發(fā)成單一應用的形式,然后部署在不同的服務器上,這些不同的服務器采用了分布式服務架構(gòu)。更具體地,微服務架構(gòu)是一類將單一應用程序作為由眾多小型服務構(gòu)成之套件加以開發(fā)的方式,其中各項服務都擁有自己的進程并利用輕量化機制(通常為HTTP源API)實現(xiàn)通信。這些服務圍繞業(yè)務功能建立而成,且憑借自動化部署機制實現(xiàn)獨立部署。這些服務匹配一套最低限度的中央式管理機制,且各服務可通過不同編程語言編寫而成并使用不同的數(shù)據(jù)存儲技術(shù)。
[0005]采用微服務的好處在于,當某個服務出現(xiàn)問題時,并不會影響其他的服務,但是微服務也有一些問題,例如由于服務是部署在分布式的服務器上,當部署的服務達到100個或者上千個后,在某一服務出現(xiàn)問題時,服務器維護人員一時間很難在繁多的部署在服務器中的服務中找到該服務的具體位置,并且這種查找會額外的增加服務器維護人員的工作量。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實施例的目的在于提供一種微服務的統(tǒng)一管理系統(tǒng)及方法,可以有效利用服務器資源來管理微服務,減少服務器維護人員的工作量。
[0007]為解決上述技術(shù)問題,本發(fā)明的實施方式提供了一種微服務的統(tǒng)一管理系統(tǒng),包含:分布式協(xié)調(diào)服務器,用于部署分布式應用程序協(xié)調(diào)服務(zookeeper);以及多個客戶端服務器,用于安裝微服務的應用程序,以將各個微服務分別部署于所述多個客戶端服務器上;其中,所述分布式協(xié)調(diào)服務器與所述多個客戶端服務器之間構(gòu)成分布式服務系統(tǒng),且所述分布式協(xié)調(diào)服務器與所述客戶端服務器之間采用所述分布式應用程序協(xié)調(diào)服務來統(tǒng)一管理所述客戶端服務器中安裝的所述微服務。
[0008]本發(fā)明的實施方式還提供了一種微服務的統(tǒng)一管理方法,包括:在分布式協(xié)調(diào)服務器中部署分布式應用程序協(xié)調(diào)服務(zookeeper);在多個客戶端服務器中分別部署多個微服務;將所述分布式協(xié)調(diào)服務器與所述多個客戶端服務器構(gòu)成分布式服務系統(tǒng);以及在所述分布式協(xié)調(diào)服務器與所述客戶端服務器之間采用所述分布式應用程序協(xié)調(diào)服務來統(tǒng)一管理所述客戶端服務器中安裝的所述微服務。
[0009]本發(fā)明實施方式相對于現(xiàn)有技術(shù)而言,利用分布式應用程序協(xié)調(diào)服務(zookeeper)來管理微服務,從而可以充分利用服務器資源并實現(xiàn)管理的簡單化,減少資源的浪費;減少服務器部署人員的工作量。
[0010]另外,所述分布式協(xié)調(diào)服務器中維護一個文件目錄,該文件目錄中存在與所述多個客戶端服務器分別對應的文件夾。通過該文件夾,可以對各客戶端服務器的微服務進行管理,例如刪除微服務、更新微服務,等等。
[0011]另外,當所述分布式服務系統(tǒng)中新安裝了客戶端服務器時,所述新安裝的客戶端服務器通知所述分布式協(xié)調(diào)服務器在所述文件目錄下創(chuàng)建與所述新安裝的客戶端服務器對應的文件夾。當系統(tǒng)中部署了新客戶端服務器時,可以自動在文件目錄下創(chuàng)建其對應的文件夾,以對其進行管理。
[0012]另外,所述多個客戶端服務器分別監(jiān)控所述分布式協(xié)調(diào)服務器中其對應的文件夾,并且在監(jiān)控在其對應的文件夾中的內(nèi)容發(fā)生變化時,執(zhí)行對應的內(nèi)容變化的任務。利用此種方式,只需要修改客戶端服務器對應的文件夾中的內(nèi)容,就可以使得客戶端服務器執(zhí)行相應的操作。因此,對客戶端服務器中的微服務的管理可以統(tǒng)一為文件目錄下文件夾中的內(nèi)容的管理。
[0013]另外,所述微服務的管理系統(tǒng)還包括:運營后臺服務器,用于管理所述分布式協(xié)調(diào)服務器。所述運營后臺服務器用于刪除所述分布式協(xié)調(diào)服務器中所述文件目錄下的所述文件夾,或者用于監(jiān)控并執(zhí)行所述文件中的內(nèi)容。此實施方式中,借助于運營后臺服務器來管理分布式協(xié)調(diào)服務器。
【附圖說明】
[0014]圖1是根據(jù)本發(fā)明的第一實施方式的微服務的統(tǒng)一管理系統(tǒng)的結(jié)構(gòu)示意圖;
[0015]圖2是根據(jù)本發(fā)明的第二實施方式的微服務的統(tǒng)一管理系統(tǒng)的結(jié)構(gòu)示意圖;
[0016]圖3是根據(jù)本發(fā)明的第三實施方式的微服務的統(tǒng)一管理方法的流程圖。
【具體實施方式】
[0017]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的各實施方式進行詳細的闡述。然而,本領(lǐng)域的普通技術(shù)人員可以理解,在本發(fā)明各實施方式中,為了使讀者更好地理解本申請而提出了許多技術(shù)細節(jié)。但是,即使沒有這些技術(shù)細節(jié)和基于以下各實施方式的種種變化和修改,也可以實現(xiàn)本申請所要求保護的技術(shù)方案。
[0018]本發(fā)明的第一實施方式涉及一種微服務的統(tǒng)一管理系統(tǒng)。其具體結(jié)構(gòu)如圖1所示。該微服務的統(tǒng)一管理系統(tǒng)包括:分布式協(xié)調(diào)服務器11及多個客戶端服務器12。其中,分布式協(xié)調(diào)服務器11可以有一個或多個,當有多個分布式協(xié)調(diào)服務器11時,該多個分布式協(xié)調(diào)服務器11用于形成分布式協(xié)調(diào)服務組,并且可以從該多個分布式協(xié)調(diào)服務器11中選出一個leader(領(lǐng)導者)。
[0019]其中,分布式協(xié)調(diào)服務器11用于部署分布式應用程序協(xié)調(diào)服務(zookeeper)。其中,zookeeper是一個分布式的,開放源碼的分布式應用程序協(xié)調(diào)服務。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務,等等。
[0020]其中,多個客戶端(client)服務器12,用于安裝微服務的應用程序,以將各個微服務分別部署于所述多個客戶端服務器上。其中,一個客戶端服務器12可以對應一個微服務,并且多個客戶端服務器12可以安裝于一客戶端中。
[0021]其中,所述分布式協(xié)調(diào)服務器11與所述多個客戶端服務器12之間構(gòu)成分布式服務系統(tǒng)。其中,分布式協(xié)調(diào)服務器11與多個客戶端服務器12之間可以基于有線網(wǎng)絡或者無線網(wǎng)絡進行連接。并且,所述分布式協(xié)調(diào)服務器11與所述客戶端服務器12之間采用所述分布式應用程序協(xié)調(diào)服務(zookeeper)來統(tǒng)一管理所述客戶端服務器中安裝的所述微服務。此處,可以主要是使用了 zookeeper中的配置維護和分布式同步這兩項功能,對于zookeeper中的配置維護和分布式同步這項功能,本領(lǐng)域技術(shù)人員是熟悉的,在此不再贅述。
[0022]其中,在所述分布式協(xié)調(diào)服務器11中維護一個文件目錄,該文件目錄中存在與所述多個客戶端服務器12分別對應的文件夾。即,該文件目錄下存在多個文件夾,每個文件夾對應一個客戶端服務器12,從而可以通過該文件夾來管理對應的客戶端服務器12。其中,該文件夾的名稱可以為對應的客戶端服務器12的IP( Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址。其中,所述文件夾中可以包括如下至少一項:版本文件、位置文件、重啟文件、結(jié)束文件和啟動文件。此實施方式中,借助于對應客戶端服務器12的文件夾,在分布式協(xié)調(diào)服務器11中通過對該文件夾的管理,例如刪除該文件夾,修改該文件夾里的內(nèi)容等,就可以實現(xiàn)對客戶端服務器12的管理,即實現(xiàn)對微服務的管理。
[0023]其中,當所述分布式服務系統(tǒng)中新安裝了客戶端服務器12時,所述新安裝的客戶端服務器12通知所述分布式協(xié)調(diào)服務器11在所述文件目錄下創(chuàng)建與所述新安裝的客戶端服務器12對應的文件夾。即,每當安裝一個新戶端服務器,該客戶端服務器就會自動發(fā)送消息通知zookepper所在的分布式協(xié)調(diào)服務器安裝一個與該客戶端服務器對應的文件夾。之后,該客戶端服務器可以監(jiān)控分布式協(xié)調(diào)服務器11中對應的文件夾。該文件夾的文件夾名稱例如可以是該新安裝的服務器的IP地址,其中,每一個客戶端服務器唯一對應一個以IP地址為文件夾名稱的文件夾。在此實施方式中,在新安裝了客戶端服務器12后,可以將該分布式協(xié)調(diào)服務器11的IP地址配置給該新安裝的客戶端服務器12,然后該新安裝的客戶端服務器12將其IP地址等信息發(fā)送至該分布式協(xié)調(diào)服務器11,以通知該分布式協(xié)調(diào)服務器11為其創(chuàng)建基于zookepper技術(shù)的文件夾。
[0024]其中,所述多個客戶端服務器12分別監(jiān)控所述分布式協(xié)調(diào)服務器11中其對應的文件夾,并且在監(jiān)控到其對應的文件夾中的內(nèi)容發(fā)生變化時,執(zhí)行對應的內(nèi)容變化的任務。例如,客戶端服務器12(IP地址為**.****.**)在分布式協(xié)調(diào)服務器11中對應的文件夾名稱為.****.。當在分布式協(xié)調(diào)服務器11中,名稱為.**林.的文件夾中的內(nèi)容發(fā)生變化時,對應的客戶端服務器12即可以監(jiān)控到此變化,從而執(zhí)行與該變化相同的任務。從而使得維護人員可以通過對分布式協(xié)調(diào)服務器11中的文件夾進行管理,就可以管理到對應的客戶端服務器12,即可以管理到對應的微服務。
[0025]本發(fā)明實施方式,利用分布式應用程序協(xié)調(diào)服務(zookeeper)來管理微服務,從而可以充分利用服務器資源并實現(xiàn)管理的簡單化,減少資源的浪費,減少服務器部署人員的工作量。
[0026]本發(fā)明的第二實施方式涉及一種微服務的管理系統(tǒng),如圖2所示。第二實施方式與第一實施方式大致相同,主要區(qū)別之處在于:在本發(fā)明第二實施方式中,還包括:運營后臺服務器13。所述運營后臺服務器13,用于管理所述分布式協(xié)調(diào)服務器11。例如,所述運營后臺服務器13用于刪除所述分布式協(xié)調(diào)服務器12中所述文件目錄下的所述文件夾,或者用于監(jiān)控并執(zhí)行所述文件中的內(nèi)容。換句話說,運營后臺服務器13可以刪除分布式協(xié)調(diào)服務器12中一個客戶端服務器對應的以IP地址為名稱的文件夾,或監(jiān)控并執(zhí)行zookepper所在的分布式協(xié)調(diào)服務器12下目錄中以IP地址為名稱的文件夾內(nèi)容的值,該文件夾中可能包含版本文件、位置文件、重啟文件、結(jié)束文件和啟動文件,以對分布式協(xié)調(diào)服務器平臺下的服務器進行部署。
[0027]不難發(fā)現(xiàn),在實施方式中,可借助于運營后臺服務器來實現(xiàn)分布式協(xié)調(diào)服務器的有效管理。
[0028]上述對本發(fā)明實施方式的系統(tǒng)架構(gòu)進行了說明,下面對本發(fā)明實施方式的微服務的統(tǒng)一管理方法進行說明,該方法可以為上述系統(tǒng)對應的方法。
[0029]本發(fā)明第三實施方式涉及一種微服務的統(tǒng)一管理方法,如圖3所示,包括:
[0030]步驟31:在分布式協(xié)調(diào)服務器中部署分布式應用程序協(xié)調(diào)服務(zookeeper)。
[0031]步驟32:在多個客戶端服務器中分別部署多個微服務。
[0032]步驟33:將所述分布式協(xié)調(diào)服務器與所述多個客戶端服務器構(gòu)成分布式服務系統(tǒng)。以及
[0033]步驟34:在所述分布式協(xié)調(diào)服務器與所述客戶端服務器之間采用所述分布式應用程序協(xié)調(diào)服務(zookeeper)來統(tǒng)一管理所述客戶端服務器中安裝的所述微服務。
[0034]其中,分布式協(xié)調(diào)服務器用于部署分布式應用程序協(xié)調(diào)服務(zookeeper)。其中,zookeeper是一個分布式的,開放源碼的分布式應用程序協(xié)調(diào)服務。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務,等等。在本實施方式中,主要用到了其中的配置維護功能和分布式同步功能。其中,本領(lǐng)域技術(shù)員熟悉該配置維護功能和分布式同步功能的內(nèi)容,在此不贅述。
[0035]其中,多個客戶端(client)服務器,用于安裝微服務的應用程序,以將各個微服務分別部署于所述多個客戶端服務器上。其中,一個客戶端服務器可以對應一個微服務。
[0036]其中,所述分布式協(xié)調(diào)服務器與所述多個客戶端服務器之間構(gòu)成分布式服務系統(tǒng)。并且,所述分布式協(xié)調(diào)服務器與所述客戶端服務器之間采用所述分布式應用程序協(xié)調(diào)服務(zookeeper)來統(tǒng)一管理所述客戶端服務器中安裝的所述微服務。此處,可以主要是使用了zookeeper中的配置維護和分布式同步這兩項功能。其中,對所述客戶端服務器中安裝的所述微服務的管理可以是刪除對應的微服務,對該微服務進行升級,修改該微服務,等等。
[0037]其中,在所述分布式協(xié)調(diào)服務器中維護一個文件目錄,該文件目錄中存在與所述多個客戶端服務器分別對應的文件夾。即,該文件目錄下存在多個文件夾,每個文件夾對應一個客戶端服務器。其中,該文件夾的名稱可以為對應的客戶端服務器的IP(InternetProtocol,互聯(lián)網(wǎng)協(xié)議)地址。其中,所述文件夾中可以包括如下至少一項:版本文件、位置文件、重啟文件、結(jié)束文件和啟動文件。
[0038]其中,當所述分布式服務系統(tǒng)中新安裝了客戶端服務器時,所述新安裝的客戶端服務器通知所述分布式協(xié)調(diào)服務器在所述文件目錄下創(chuàng)建與所述新安裝的客戶端服務器對應的文件夾。即,每當安裝一個新客戶端服務器,該客戶端服務器就會自動發(fā)送消息通知zookepper所在的分布式協(xié)調(diào)服務器安裝一個與該客戶端服務器對應的文件夾;之后,該客戶端服務器用于監(jiān)控對應的文件夾。該文件夾的文件夾名稱是安裝的服務器IP地址,每一個客戶端唯一對應一個以IP地址為文件夾名稱的文件夾。
[0039]其中,所述多個客戶端服務器分別監(jiān)控所述分布式協(xié)調(diào)服務器中其對應的文件夾,并且在監(jiān)控到其對應的文件夾中的內(nèi)容發(fā)生變化時,執(zhí)行對應的內(nèi)容變化的任務,例如同步變化后的內(nèi)容。
[0040]除此之外,在圖3實施例的方法中,還可以利用運營后臺服務器來管理分布式協(xié)調(diào)服務器,該運營后臺服務器可以用于刪除所述分布式協(xié)調(diào)服務器中所述文件目錄下的所述文件夾,或者用于監(jiān)控并執(zhí)行所述文件中的內(nèi)容。換句話說,運營后臺服務器可以刪除分布式協(xié)調(diào)服務器中一個客戶端服務器對應的以IP地址為名稱的文件夾,或監(jiān)控并執(zhí)行zookepper所在的分布式協(xié)調(diào)服務器下目錄中以IP地址為名稱的文件夾內(nèi)容的值,該文件夾中可能包含版本文件、位置文件、重啟文件、結(jié)束文件和啟動文件,以對分布式協(xié)調(diào)服務器平臺下的服務器進行部署。
[0041]本發(fā)明實施方式,利用分布式應用程序協(xié)調(diào)服務(zookeeper)來管理微服務,從而可以充分利用服務器資源并實現(xiàn)管理的簡單化,減少資源的浪費,減少服務器部署人員的工作量。
[0042]上面各種方法的步驟劃分,只是為了描述清楚,實現(xiàn)時可以合并為一個步驟或者對某些步驟進行拆分,分解為多個步驟,只要包含相同的邏輯關(guān)系,都在本專利的保護范圍內(nèi);對算法中或者流程中添加無關(guān)緊要的修改或者引入無關(guān)緊要的設(shè)計,但不改變其算法和流程的核心設(shè)計都在該專利的保護范圍內(nèi)。
[0043]值得一提的是,上述實施方式中所涉及到的各模塊均為邏輯模塊,在實際應用中,一個邏輯單元可以是一個物理單元,也可以是一個物理單元的一部分,還可以以多個物理單元的組合實現(xiàn)。此外,為了突出本發(fā)明的創(chuàng)新部分,本實施方式中并沒有將與解決本發(fā)明所提出的技術(shù)問題關(guān)系不太密切的單元引入,但這并不表明本實施方式中不存在其它的單
J L ο
[0044]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施方式方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,R0M)或隨機存儲記憶體(Random AccessMemory,RAM)等。
[0045]本領(lǐng)域的普通技術(shù)人員可以理解,上述各實施方式是實現(xiàn)本發(fā)明的具體實施例,而在實際應用中,可以在形式上和細節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。
【主權(quán)項】
1.一種微服務的統(tǒng)一管理系統(tǒng),其特征在于,包括: 分布式協(xié)調(diào)服務器,用于部署分布式應用程序協(xié)調(diào)服務; 多個客戶端服務器,用于安裝微服務的應用程序,以將微服務部署于所述多個客戶端服務器上; 其中,所述分布式協(xié)調(diào)服務器與所述多個客戶端服務器之間構(gòu)成分布式服務系統(tǒng),且所述分布式協(xié)調(diào)服務器與所述客戶端服務器之間采用所述分布式應用程序協(xié)調(diào)服務來統(tǒng)一管理所述客戶端服務器中部署的所述微服務。2.根據(jù)權(quán)利要求1所述的微服務的管理系統(tǒng),其特征在于,所述分布式協(xié)調(diào)服務器中維護一個文件目錄,該文件目錄中存在與所述多個客戶端服務器分別對應的文件夾。3.根據(jù)權(quán)利要求2所述的微服務的管理系統(tǒng),其特征在于,所述文件夾的名稱為對應的客戶端服務器的IP地址。4.根據(jù)權(quán)利要求2所述的微服務的管理系統(tǒng),其特征在于,當所述分布式服務系統(tǒng)中新安裝了客戶端服務器時,所述新安裝的客戶端服務器通知所述分布式協(xié)調(diào)服務器在所述文件目錄下創(chuàng)建與所述新安裝的客戶端服務器對應的文件夾。5.根據(jù)權(quán)利要求2所述的微服務的管理系統(tǒng),其特征在于,所述多個客戶端服務器分別監(jiān)控所述分布式協(xié)調(diào)服務器中其對應的文件夾,并且在監(jiān)控到其對應的文件夾中的內(nèi)容發(fā)生變化時,執(zhí)行對應的內(nèi)容變化的任務。6.根據(jù)權(quán)利要求2至5中任一項所述的微服務的管理系統(tǒng),其特征在于,還包括: 運營后臺服務器,用于管理所述分布式協(xié)調(diào)服務器。7.根據(jù)權(quán)利要求6所述的微服務的管理系統(tǒng),其特征在于,所述運營后臺服務器用于刪除所述分布式協(xié)調(diào)服務器中所述文件目錄下的所述文件夾,或者用于監(jiān)控并執(zhí)行所述文件中的內(nèi)容。8.根據(jù)權(quán)利要求7所述的微服務的管理系統(tǒng),其特征在于,所述文件夾中包括如下至少一項:版本文件、位置文件、重啟文件、結(jié)束文件和啟動文件。9.一種微服務的統(tǒng)一管理方法,其特征在于,包括: 在分布式協(xié)調(diào)服務器中部署分布式應用程序協(xié)調(diào)服務; 在多個客戶端服務器中分別部署多個微服務; 將所述分布式協(xié)調(diào)服務器與所述多個客戶端服務器構(gòu)成分布式服務系統(tǒng);以及 在所述分布式協(xié)調(diào)服務器與所述客戶端服務器之間采用所述分布式應用程序協(xié)調(diào)服務來統(tǒng)一管理所述客戶端服務器中部署的所述微服務。10.根據(jù)權(quán)利要求9所述的微服務的統(tǒng)一管理方法,其特征在于,所述分布式協(xié)調(diào)服務器中維護一個文件目錄,該文件目錄中存在與所述多個客戶端服務器分別對應的文件夾。
【文檔編號】H04L29/08GK105959390SQ201610415397
【公開日】2016年9月21日
【申請日】2016年6月13日
【發(fā)明人】梁曉龍
【申請人】樂視控股(北京)有限公司, 樂視網(wǎng)信息技術(shù)(北京)股份有限公司