亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種服務器集群系統(tǒng)中的路由方法

文檔序號:7703622閱讀:144來源:國知局
專利名稱:一種服務器集群系統(tǒng)中的路由方法
技術領域
本發(fā)明涉及計算機網(wǎng)絡技術領域,特別是涉及一種服務器集群系統(tǒng)中的路由方法。
背景技術
隨著互聯(lián)網(wǎng)應用和企業(yè)應用的不斷擴大,需要大規(guī)模的服務器集群系統(tǒng)來部署的各種應用。隨著業(yè)務規(guī)模的增大,應用間的調(diào)用關系會越來越復雜,而目前使用的靜態(tài)路由導致路由信息配置復雜,且不能根據(jù)系統(tǒng)負載動態(tài)地調(diào)整路由信息,導致系統(tǒng)擴容及容災難以實施。

發(fā)明內(nèi)容
本發(fā)明提供了一種服務器集群系統(tǒng)中的路由方法,該方法能動態(tài)進行路由,路由信息配置簡單,進而擴容以及容災簡單。為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的本發(fā)明公開了一種服務器集群系統(tǒng)中的路由方法,所述服務器集群系統(tǒng)包括由多個應用服務器組成的應用服務器集群和同步服務器,所述同步服務器上保存有應用進程的路由信息,所述路由方法包括應用服務器上的第一指定應用進程啟動后連接同步服務器上的協(xié)同服務進程,該第一指定應用進程通過協(xié)同服務進程將自身的路由信息保存到同步服務器上,并從同步服務器獲取所有的路由信息;當?shù)谝恢付☉眠M程需要訪問第二指定應用進程時,第一指定應用進程從所述獲取的路由信息中查找出第二指定應用進程的路由信息,根據(jù)第二指定應用進程的路由信息進行路由。由上述可見,本發(fā)明這種應用服務器上的應用進程啟動后連接同步服務器上的協(xié)同服務進程,該應用進程通過協(xié)同服務進程將自身的路由信息保存到同步服務器上,并從同步服務器獲取所有的路由信息;當該應用進程需要訪問另一個應用進程時,從所述獲取的路由信息中查找出該另一個應用進程的路由信息進行路由的技術方案,由于路由信息都動態(tài)存儲在同步服務器上,不需要運維人員再配置每個應用的路由信息,因此能實現(xiàn)動態(tài)進行路由,且路由信息配置簡單;此外在這種方案下,當某個應用的性能不夠時,只需增加服務器,再部署該應用,其路由信息會自動同步,不需要再修改路由配置信息以及重啟相關應用,當某個應用服務器宕機時,相關請求也不會再發(fā)到該服務器上,因此擴容以及容災也簡單。


圖1是本發(fā)明實施例中的一種服務器集群系統(tǒng)中的路由方法的流程圖2是本發(fā)明實施例中的一種服務器集群系統(tǒng)的示意圖;圖3是本發(fā)明實施例中的同步服務器集群的示意圖;圖4為本發(fā)明實施例中的應用進程的啟動過程示意圖;圖5是本發(fā)明實施例中的有新的應用進程啟動時的路由信息處理流程圖;圖6是本發(fā)明實施例中的將應用進程A更新為應用進程A’的流程圖。
具體實施例方式為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。圖1是本發(fā)明實施例中的一種服務器集群系統(tǒng)中的路由方法的流程圖。這里所述的服務器集群系統(tǒng)包括由多個應用服務器組成的應用服務器集群和同步服務器,所述同步服務器上保存有應用進程的路由信息,如圖1所示,該路由方法包括101,應用服務器上的第一指定應用進程啟動后連接同步服務器上的協(xié)同服務進程,該第一指定應用進程通過協(xié)同服務進程將自身的路由信息保存到同步服務器上,并從同步服務器獲取所有的路由信息。102,當?shù)谝恢付☉眠M程需要訪問第二指定應用進程時,第一指定應用進程從所述獲取的路由信息中查找出第二指定應用進程的路由信息,根據(jù)第二指定應用進程的路由信息進行路由。下面對圖1所示的技術方案進行進一步的說明。圖2是本發(fā)明實施例中的一種服務器集群系統(tǒng)的示意圖。如圖2所示,該服務器集群系統(tǒng)包括管理服務器,中心服務器,部署服務器,數(shù)據(jù)庫服務器,由多個應用服務器組成的應用服務器集群、同步服務器。其中管理服務器上部署有管理進程,中心服務器上部署有中心進程,每個應用服務器上都部署有一個應用外殼進程和多個應用進程,同步服務器上部署有協(xié)同服務進程。管理進程為用戶操作平臺,用戶通過管理進程下發(fā)管理命令給中心進程,中心進程根據(jù)命令格式轉(zhuǎn)發(fā)給應用外殼進程。中心進程為請求轉(zhuǎn)發(fā)進程,主要提供的功能有轉(zhuǎn)發(fā)管理進程的請求到每個應用服務器、提供配置給應用外殼進程以及對應用進程上傳的狀態(tài)信息進行記錄。應用外殼進程為一守護進程,每臺應用服務器都安裝一個應用外殼進程,主要提供的功能有啟動、停止以及監(jiān)控應用進程。應用外殼進程在啟動的時候會通過遠程過程調(diào)用(RPC)協(xié)議連接中心進程,獲取配置信息,并初始化端口池,在應用進程啟動時從端口池獲取端口提供給應用進程,在應用進程停止時回收其端口。協(xié)同服務進程用于管理同步服務器上路由信息。在本發(fā)明的實施例中應用進程的路由信息包括應用配置信息和應用運行狀態(tài)信肩、ο其中,所述應用配置信息包括應用名稱、部署服務器組、部署包名稱、應用元數(shù)據(jù)、是否啟用標志,如表1所示。所述應用運行狀態(tài)信息包括應用名稱、服務器名稱、請求權重、服務器地址、添加時間,如表2所示。
權利要求
1.一種服務器集群系統(tǒng)中的路由方法,其特征在于,所述服務器集群系統(tǒng)包括由多個應用服務器組成的應用服務器集群和同步服務器,所述同步服務器上保存有應用進程的路由信息,所述路由方法包括應用服務器上的第一指定應用進程啟動后連接同步服務器上的協(xié)同服務進程,該第一指定應用進程通過協(xié)同服務進程將自身的路由信息保存到同步服務器上,并從同步服務器獲取所有的路由信息;當?shù)谝恢付☉眠M程需要訪問第二指定應用進程時,第一指定應用進程從所述獲取的路由信息中查找出第二指定應用進程的路由信息,根據(jù)第二指定應用進程的路由信息進行路由。
2.根據(jù)權利要求1所述的方法,其特征在于,所述路由信息包括應用配置信息和應用運行狀態(tài)信息;其中,所述應用配置信息包括應用名稱、部署服務器組、部署包名稱、應用元數(shù)據(jù)、是否啟用標志;所述應用運行狀態(tài)信息包括應用名稱、服務器名稱、請求權重、服務器地址、添加時間。
3.根據(jù)權利要求2所述的方法,其特征在于,所述同步服務器上保存有應用進程的路由信息包括所有的應用配置信息保存在應用配置根節(jié)點下,每個應用進程的應用配置信息保存為一個節(jié)點,當一個應用進程停止時,保存其應用配置信息的節(jié)點不被刪除;所有的應用運行狀態(tài)信息保存在運行信息根節(jié)點下, 每個應用進程的應用運行狀態(tài)信息保存為一個節(jié)點,當一個應用進程停止時,保存其應用運行狀態(tài)信息的節(jié)點被刪除;所述第一指定應用進程通過協(xié)同服務進程將自身的路由信息保存到同步服務器上包括協(xié)同服務進程根據(jù)第一指定應用進程的請求在應用配置根節(jié)點下添加一個節(jié)點,在該節(jié)點中保存第一指定應用進程的應用配置信息,在運行信息根節(jié)點下添加一個節(jié)點,在該節(jié)點中保存第一指定應用進程的應用運行狀態(tài)信息。
4.根據(jù)權利要求3所述的方法,其特征在于,該方法進一步包括協(xié)同服務進程根據(jù)第一指定應用進程的請求在應用配置根節(jié)點下添加一個節(jié)點,在該節(jié)點中保存第一指定應用進程的應用配置信息后,第一指定應用進程對應用配置根節(jié)點添加觀察者;協(xié)同服務進程在運行信息根節(jié)點下添加一個節(jié)點,在該節(jié)點中保存第一指定應用進程的應用運行狀態(tài)信息后,第一指定應用進程對運行信息根節(jié)點添加觀察者;當應用配置根節(jié)點和/或運行信息根節(jié)點下增加新的節(jié)點時,同步服務器上協(xié)同服務進程向第一指定應用進程發(fā)送通知消息,第一指定應用進程接收到通知消息后,重新通過協(xié)同服務進程從同步服務器獲取所有的路由信息。
5.根據(jù)權利要求2所述的方法,其特征在于,所述根據(jù)第二指定應用進程的路由信息進行路由包括根據(jù)應用配置信息中的元數(shù)據(jù)選擇路由方式,如果所述第一指定應用進程為有狀態(tài), 則選擇一致性哈希路由方式,如果所述第一指定應用進程為無狀態(tài),則選擇隨機路由方式;如果選擇了一致性哈希路由方式,則根據(jù)應用運行狀態(tài)信息中的請求權重添加虛擬節(jié)點,然后根據(jù)一致性哈希算法選擇一個應用服務器;如果選擇了隨機路由方式,則使用輪詢算法,根據(jù)應用服務器的權重,在一個輪詢里選擇不同的次數(shù),選擇出一個應用服務器;選擇出一個應用服務器后,如果該應用服務器存在創(chuàng)建時間不同的兩條應用進程地址,則選擇創(chuàng)建時間靠后的應用進程地址。
6.根據(jù)權利要求2所述的方法,其特征在于,所述服務器集群系統(tǒng)還包括中心服務器、部署服務器和數(shù)據(jù)庫服務器;中心服務器上部署有中心進程,每個應用服務器上都部署有一個應用外殼進程;該方法還包括應用服務器上的應用外殼進程的啟動過程,具體為 應用外殼進程啟動后,讀取本地的配置文件,建立與中心服務器的長連接; 應用外殼進程通過中心進程從數(shù)據(jù)庫服務器獲取服務器配置信息,根據(jù)服務器配置信息初始化端口池,建立后臺線程,上傳應用的狀態(tài)信息給中心進程;其中,所述服務器配置信息包括服務器名稱、服務器分組、服務器地址、可用端口池、 請求權重、是否啟用標志。
7.根據(jù)權利要求6所述的方法,其特征在于,該方法還包括應用服務器上的應用進程的啟動過程,具體為應用外殼進程在收到中心進程的啟動應用進程的命令后,從部署服務器下載對應的服務部署包,并解壓到其運行目錄下;應用外殼進程啟動應用進程,并等待應用進程回連;應用進程啟動后分析啟動參數(shù),進行初始化,向應用外殼進程返回回連命令;所述啟動參數(shù)包括服務器名稱、服務器地址、中心進程地址、端口列表; 應用外殼進程收到回連命令后發(fā)送啟動命令給應用進程; 應用進程收到啟動命令后,進行初始化,并連接同步服務器上的協(xié)同服務進程。
8.根據(jù)權利要求7所述的方法,其特征在于,應用服務器上的應用進程的啟動過程還包括應用進程啟動時,應用外殼進程從端口池獲取端口并判斷該端口是否已被占用,如果已被占用則重新獲取端口,如果沒有被占用則分配給應用進程,并進行記錄;該方法還包括當應用進程停止時,應用外殼進程回收已經(jīng)分配給該應用進程的端口到端口池。
9.根據(jù)權利要求1至8中任一項所述的方法,其特征在于,該方法還包括將應用進程 A更新為應用進程A’的過程;所述將應用進程A更新為應用進程A’的過程包括中心進程接收到管理進程下發(fā)的將應用進程A更新為應用進程A’的命令后,向應用外殼進程發(fā)送啟動應用進程A’的命令,應用外殼進程接收到該命令后完成應用進程A’的啟動過程;應用進程A’啟動成功后,中心進程接收管理進程下發(fā)的對應用進程A進行更新的命令,中心進程向應用外殼進程發(fā)送對應用進程A進行更新的命令,應用外殼進程向應用進程A發(fā)送停止命令,應用進程A通過協(xié)同服務進程刪除自身在同步服務器上的路由信息,然后延緩固定時長后退出。
10.根據(jù)權利要求1至8中任一項所述的方法,其特征在于,所述同步服務器為由多個同步服務器組成的服務器集群,每個同步服務器上都部署有一個協(xié)同服務進程,該服務器集群內(nèi)的每臺同步服務器通過一致性算法進行數(shù)據(jù)同步;應用服務器上的應用進程啟動后隨機選擇一個同步服務器,與該同步服務器上的協(xié)同服務進程進行連接。
全文摘要
本發(fā)明公開了一種服務器集群系統(tǒng)中的路由方法。所述服務器集群系統(tǒng)包括由多個應用服務器組成的應用服務器集群和同步服務器,所述同步服務器上保存有應用進程的路由信息,所述路由方法包括應用服務器上的第一指定應用進程啟動后連接同步服務器上的協(xié)同服務進程,該第一指定應用進程通過協(xié)同服務進程將自身的路由信息保存到同步服務器上,并從同步服務器獲取所有的路由信息;當?shù)谝恢付☉眠M程需要訪問第二指定應用進程時,第一指定應用進程從所述獲取的路由信息中查找出第二指定應用進程的路由信息,根據(jù)第二指定應用進程的路由信息進行路由。本發(fā)明的技術方案,能動態(tài)進行路由,路由信息配置簡單,進而擴容以及容災簡單。
文檔編號H04L12/56GK102333029SQ20111017167
公開日2012年1月25日 申請日期2011年6月23日 優(yōu)先權日2011年6月23日
發(fā)明者楊虎, 高磊 申請人:北京新媒傳信科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1