国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種網(wǎng)絡(luò)服務(wù)器自動(dòng)擴(kuò)展的方法

      文檔序號(hào):7984239閱讀:135來(lái)源:國(guó)知局
      一種網(wǎng)絡(luò)服務(wù)器自動(dòng)擴(kuò)展的方法
      【專利摘要】本發(fā)明提供一種服務(wù)器擴(kuò)展的方法,其包括首先建立服務(wù)器池,當(dāng)服務(wù)器池處理量不夠,需要增加服務(wù)器進(jìn)入服務(wù)器池的時(shí)候,新服務(wù)器通過(guò)登記機(jī)制可以立刻將自己加入到服務(wù)器池之中,并通過(guò)池化器的解析服務(wù)功能,可將新增的服務(wù)器IP通過(guò)用戶的池名解析分配給用戶,從而分擔(dān)用戶的訪問(wèn)量和提高服務(wù)器池的整體處理量。服務(wù)器池中池化器與服務(wù)器之間是通過(guò)網(wǎng)絡(luò)連接,池化器充當(dāng)管理者的身份,服務(wù)器池系統(tǒng)中各成員是互通的即可。這樣,服務(wù)器可以是任意位置,不必處于相同網(wǎng)段之中,因此服務(wù)器的位置在服務(wù)器池系統(tǒng)中沒(méi)有任何限制。
      【專利說(shuō)明】一種網(wǎng)絡(luò)服務(wù)器自動(dòng)擴(kuò)展的方法
      【【技術(shù)領(lǐng)域】】
      [0001]本發(fā)明是關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)服務(wù)器領(lǐng)域,特別是關(guān)于網(wǎng)絡(luò)服務(wù)器池系統(tǒng)的擴(kuò)展的【技術(shù)領(lǐng)域】。
      【【背景技術(shù)】】
      [0002]典型的服務(wù)器集群模式下,通常在需要擁有一組冗余服務(wù)器,(冗余服務(wù)器即為:多臺(tái)能提供相同服務(wù)功能的服務(wù)器),并在冗余服務(wù)器的前端部署一個(gè)負(fù)載均衡設(shè)備,該種設(shè)備通常被稱之為負(fù)載均衡器,負(fù)載均衡器通常有內(nèi)外網(wǎng)口之分,外網(wǎng)口面向用戶,是用戶可以訪問(wèn)的到的一端,而內(nèi)網(wǎng)口面向后端的冗余服務(wù)器,內(nèi)網(wǎng)口與后端冗余服務(wù)器也處于相同的網(wǎng)段,用戶通常是不能直接訪問(wèn)到該網(wǎng)段的。
      [0003]該種集群系統(tǒng)的工作模式如下:
      [0004]用戶訪問(wèn)負(fù)載均衡器的外網(wǎng)口 IP地址,負(fù)載均衡器將用戶請(qǐng)求通過(guò)相應(yīng)的策略均勻地分配到處于后端的不同的實(shí)際服務(wù)器上,實(shí)際服務(wù)器處理完成用戶請(qǐng)求后將處理結(jié)果返回給負(fù)載均衡器,負(fù)載均衡器再轉(zhuǎn)發(fā)給用戶,這樣用戶的訪問(wèn)量就由多臺(tái)服務(wù)器同時(shí)處理,因此集群系統(tǒng)能顯著提高多臺(tái)服務(wù)器的協(xié)同工作,提高系統(tǒng)整體的處理能力,突破單臺(tái)服務(wù)器的性能瓶頸。
      [0005]然而在部署該類集群的時(shí)候,需要在前端的負(fù)載均衡設(shè)備中事先配置好后端的服務(wù)器IP,如果需要更大的處理能力,就需要在后端部署更多的服務(wù)器,這樣就需要在前端負(fù)載均衡設(shè)備里人工修改配置,并使其生效,否則,負(fù)載均衡器將無(wú)法為新增的服務(wù)器分配用
      戶流量。
      [0006]也就是說(shuō),當(dāng)我們部署和運(yùn)行集群系統(tǒng)的時(shí)候,系統(tǒng)的擴(kuò)展是需要人工干預(yù)的,同時(shí)負(fù)載均衡器的內(nèi)網(wǎng)口與后端多臺(tái)服務(wù)器處于相同網(wǎng)段,這樣就要求后端多臺(tái)服務(wù)器處于同一個(gè)內(nèi)網(wǎng),因此傳統(tǒng)的集群系統(tǒng)有較大的局限性。

      【發(fā)明內(nèi)容】

      [0007]本發(fā)明的目的在于本發(fā)明針對(duì)傳統(tǒng)的服務(wù)器集群的不足之處,提出采用服務(wù)器池方案,可實(shí)現(xiàn)任意的系統(tǒng)擴(kuò)展,并消除系統(tǒng)對(duì)服務(wù)器位置的限制。
      [0008]為達(dá)成前述目的,本發(fā)明一種網(wǎng)絡(luò)服務(wù)器自動(dòng)擴(kuò)展的方法,其包括如下步驟:
      [0009]構(gòu)建一個(gè)服務(wù)器池系統(tǒng),并為提供相同服務(wù)的服務(wù)器組成的服務(wù)器池命名,其中所述服務(wù)器池系統(tǒng)包括:
      [0010]服務(wù)器池:服務(wù)器池是由一組具有相同功能的,并被統(tǒng)一管理起來(lái)的服務(wù)器組成,每個(gè)服務(wù)器池均使用唯一的池名作為標(biāo)識(shí);
      [0011]池化器:是服務(wù)器池的管理設(shè)備,負(fù)責(zé)將多臺(tái)服務(wù)器組成一個(gè)虛擬的服務(wù)器池,并對(duì)各臺(tái)服務(wù)器的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控和采集;同時(shí)提供池名解析功能,以便能讓用戶方便地訪問(wèn)服務(wù)器;
      [0012]客戶端:訪問(wèn)服務(wù)器池的客戶機(jī);[0013]服務(wù)器啟動(dòng)時(shí),服務(wù)器需在池化器處進(jìn)行登記,登記時(shí)要提供相關(guān)的系統(tǒng)信息,包括:池名、唯一的服務(wù)識(shí)別號(hào)、服務(wù)器IP地址、服務(wù)端口、服務(wù)協(xié)議、服務(wù)檢測(cè)、均衡策略;
      [0014]池化器收到登記消息后,將對(duì)其按照池名進(jìn)行歸類,保存在其內(nèi)部的服務(wù)器列表之中,同時(shí)發(fā)布服務(wù)器更新消息給其他池化器,將該服務(wù)登記信息同步到其他服務(wù)器里,從而保證所有池化器中的服務(wù)器列表都是一致的;
      [0015]池化器每隔一個(gè)時(shí)間段會(huì)對(duì)其主管服務(wù)器進(jìn)行監(jiān)控檢查,一旦發(fā)現(xiàn)有服務(wù)器發(fā)生故障,立刻從其保持的服務(wù)器列表中刪除該服務(wù)器,同時(shí)發(fā)送服務(wù)器更新消息給其他池化器,其他池化器接到該消息后,也同時(shí)從自己的服務(wù)器列表中刪除該服務(wù)器;
      [0016]用戶訪問(wèn)服務(wù)器池之前,必須向池化器發(fā)送池名解析請(qǐng)求,池化器根據(jù)自身保持的服務(wù)器列表,并按照服務(wù)器池的均衡策略為用戶選擇一臺(tái)被認(rèn)為最佳的服務(wù)器IP,將結(jié)果返回給用戶;
      [0017]根據(jù)池名解析的結(jié)果,用戶直接與服務(wù)器建立連接,按照均衡策略,不同的用戶通過(guò)池名解析,會(huì)獲得不同的服務(wù)器IP,這樣用戶的訪問(wèn)量就被分配到不同的服務(wù)器上
      [0018]當(dāng)擴(kuò)展服務(wù)器時(shí),新的服務(wù)器在池化器處進(jìn)行登記,重復(fù)前述服務(wù)器啟動(dòng)之后的步驟,實(shí)現(xiàn)服務(wù)器的擴(kuò)展。
      [0019]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述池名是由若干個(gè)從a到z的26個(gè)拉丁字母及O到9的10個(gè)阿拉伯?dāng)?shù)字及以及”符號(hào)構(gòu)成的并按一定的層次和邏輯排列,池名不能重復(fù),具有相同服務(wù)的多臺(tái)服務(wù)器擁有同一個(gè)池名。
      [0020]根據(jù)本發(fā)明的一個(gè)實(shí)施例,服務(wù)登記的過(guò)程是通過(guò)服務(wù)器向池化器發(fā)送登記消息,到服務(wù)器收到池化器發(fā)回來(lái)的登記回應(yīng)消息而完成,登記消息中包含了前述系統(tǒng)信息。
      [0021]根據(jù)本發(fā)明的一個(gè)實(shí)施例,前述服務(wù)器狀態(tài)監(jiān)控的步驟中服務(wù)器健康檢查采用以下方式進(jìn)行:如果池化器發(fā)出的持續(xù)活動(dòng)消息,在設(shè)定時(shí)間內(nèi)沒(méi)有收到持續(xù)活動(dòng)確認(rèn)消息,則迅速連續(xù)發(fā)送幾個(gè)持續(xù)活動(dòng)消息,如果仍然沒(méi)有收到持續(xù)活動(dòng)確認(rèn)消息,則可以判定服務(wù)器發(fā)生故障,如果池化器收到持續(xù)活動(dòng)確認(rèn)消息則表明服務(wù)器正常。
      [0022]根據(jù)本發(fā)明的一個(gè)實(shí)施例,在持續(xù)活動(dòng)確認(rèn)消息中服務(wù)器附帶了服務(wù)器自身的CPU使用率、網(wǎng)絡(luò)使用率、內(nèi)存使用率、硬盤使用率信息。
      [0023]根據(jù)本發(fā)明的一個(gè)實(shí)施例,前述服務(wù)器狀態(tài)監(jiān)控的步驟中服務(wù)器健康檢查采用以下方式進(jìn)行:池化器主動(dòng)探測(cè)服務(wù)器IP及端口,主動(dòng)創(chuàng)建服務(wù)器TCP連接,連接成功則表明服務(wù)器正常,否則表明服務(wù)器故障。
      [0024]根據(jù)本發(fā)明的一個(gè)實(shí)施例,前述服務(wù)器狀態(tài)監(jiān)控的步驟中服務(wù)器健康檢查采用以下方式進(jìn)行:池化器向服務(wù)器依照用戶所使用的服務(wù)協(xié)議發(fā)送特定的協(xié)議,然后根據(jù)服務(wù)器的回答來(lái)判斷服務(wù)器的狀況,池化器如果收到的服務(wù)器狀態(tài)碼為正常,則表明服務(wù)器的服務(wù)是正常的,反之可以判斷出服務(wù)器的服務(wù)異常,即服務(wù)器發(fā)生故障。
      [0025]本發(fā)明的方法,服務(wù)器池系統(tǒng)可以根據(jù)需求任意自動(dòng)擴(kuò)展,當(dāng)服務(wù)器池處理量不夠,需要增加服務(wù)器進(jìn)入服務(wù)器池的時(shí)候,新服務(wù)器通過(guò)登記機(jī)制可以立刻將自己加入到服務(wù)器池之中,并通過(guò)池化器的解析服務(wù)功能,可將新增的服務(wù)器IP通過(guò)用戶的池名解析分配給用戶,從而分擔(dān)用戶的訪問(wèn)量和提高服務(wù)器池的整體處理量。如果因?yàn)楦鞣N理由需要降低服務(wù)器池的處理能力時(shí),只要將需退出的服務(wù)器在池化器處進(jìn)行注銷,池化器就立刻刪除該服務(wù)器節(jié)點(diǎn),這樣,用戶進(jìn)行池名解析時(shí),池化器就不會(huì)再將該服務(wù)器IP分配給用戶。
      [0026]服務(wù)器池中池化器與服務(wù)器之間是通過(guò)網(wǎng)絡(luò)連接,池化器充當(dāng)管理者的身份,月艮務(wù)器池系統(tǒng)中各成員是互通的即可。這樣,服務(wù)器可以是任意位置,不必處于相同網(wǎng)段之中,因此服務(wù)器的位置在服務(wù)器池系統(tǒng)中沒(méi)有任何限制。
      【【專利附圖】

      【附圖說(shuō)明】】
      [0027]圖1是本發(fā)明的服務(wù)器池系統(tǒng)的結(jié)構(gòu)示意圖。
      [0028]圖2為本發(fā)明的服務(wù)器池系統(tǒng)的工作流程圖。
      [0029]圖3為本發(fā)明的登記消息格式示意圖。
      [0030]圖4為本發(fā)明的登記消息格式中池名參數(shù)格式示意圖。
      [0031]圖5為本發(fā)明的登記消息 格式中服務(wù)器參數(shù)格式示意圖。
      [0032]圖6為本發(fā)明的登記回應(yīng)消息格式示意圖。
      [0033]圖7為本發(fā)明的持續(xù)活動(dòng)消息格式示意圖。
      [0034]圖8為本發(fā)明的持續(xù)活動(dòng)消息格式中系統(tǒng)參數(shù)的格式示意圖。
      [0035]圖9為本發(fā)明的持續(xù)活動(dòng)確認(rèn)消息格式示意圖。
      [0036]圖10為本發(fā)明的服務(wù)器更新消息格式示意圖。
      【【具體實(shí)施方式】】
      [0037]此處所稱的“一個(gè)實(shí)施例”或“實(shí)施例”是指可包含于本發(fā)明至少一個(gè)實(shí)現(xiàn)方式中的特定特征、結(jié)構(gòu)或特性。在本說(shuō)明書中不同地方出現(xiàn)的“在一個(gè)實(shí)施例中”并非均指同一個(gè)實(shí)施例,也不是單獨(dú)的或選擇性的與其他實(shí)施例互相排斥的實(shí)施例。
      [0038]現(xiàn)有的網(wǎng)絡(luò)服務(wù)器群在部署該類集群的時(shí)候,需要在前端的負(fù)載均衡設(shè)備中事先配置好后端的服務(wù)器IP,如果需要更大的處理能力,就需要在后端部署更多的服務(wù)器,這樣就需要在前端負(fù)載均衡設(shè)備里人工修改配置,并使其生效,否則,負(fù)載均衡器將無(wú)法為新增的服務(wù)器分配用戶流量。
      [0039]本發(fā)明針對(duì)現(xiàn)有技術(shù)的缺陷,提出一種新的自動(dòng)擴(kuò)展服務(wù)器的方法,本發(fā)明的自動(dòng)擴(kuò)展服務(wù)器的方法須建立在服務(wù)器池框架下方能發(fā)揮其功能。服務(wù)器池的核心思想是讓某項(xiàng)服務(wù)由多個(gè)冗余服務(wù)器同時(shí)來(lái)提供,所有這些服務(wù)器的集合被稱為一個(gè)服務(wù)器池。也就是說(shuō):一項(xiàng)服務(wù)是由一個(gè)服務(wù)器池的整體來(lái)提供的,服務(wù)器是分布式的,均擁有各自的IP地址。當(dāng)其中一個(gè)服務(wù)器因故障而不能繼續(xù)提供服務(wù)的時(shí)候,可以由存在于服務(wù)器池中另一個(gè)正常運(yùn)行的服務(wù)器繼續(xù)提供。其系統(tǒng)示意圖圖1所示,本發(fā)明的服務(wù)器池系統(tǒng)由以下三個(gè)部分組成:
      [0040]服務(wù)器池:服務(wù)器池是由一組具有相同功能的,并被統(tǒng)一管理起來(lái)的服務(wù)器組成,每個(gè)服務(wù)器池均使用唯一的池名作為標(biāo)識(shí);
      [0041]池化器:是服務(wù)器池的管理設(shè)備,負(fù)責(zé)將多臺(tái)服務(wù)器組成一個(gè)虛擬的服務(wù)器池,并對(duì)各臺(tái)服務(wù)器的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控和采集;同時(shí)提供池名解析功能,以便能讓用戶方便地訪問(wèn)服務(wù)器;
      [0042]客戶端:訪問(wèn)服務(wù)器池的客戶機(jī)。
      [0043]下面對(duì)本發(fā)明的服務(wù)器池系統(tǒng)的工作流程做詳細(xì)說(shuō)明,請(qǐng)參閱圖2所示,本發(fā)明的服務(wù)器池系統(tǒng)的構(gòu)建步驟如下:
      [0044]步驟S1:首先建立服務(wù)器池,并為提供相同服務(wù)的服務(wù)器組成的服務(wù)器池命名,即池名,池名是服務(wù)器池唯一的標(biāo)識(shí)名,是由若干個(gè)從a到z的26個(gè)拉丁字母及0到9的10個(gè)阿拉伯?dāng)?shù)字及以及”符號(hào)構(gòu)成的并按一定的層次和邏輯排列,命名方法與域名(Domain Name)是一致的。池名不能重復(fù),具有相同服務(wù)的多臺(tái)服務(wù)器擁有同一個(gè)池名。
      [0045]步驟S2:在服務(wù)啟動(dòng)時(shí),服務(wù)器需在池化器處進(jìn)行登記,登記時(shí)要提供相關(guān)的系統(tǒng)信息,包括:池名,唯一的服務(wù)識(shí)別號(hào)、 服務(wù)器IP地址、服務(wù)端口、服務(wù)協(xié)議、服務(wù)檢測(cè)、均衡策略等。服務(wù)登記的過(guò)程是通過(guò)向池化器發(fā)送登記(registration)消息,到服務(wù)器收到池化器發(fā)回來(lái)的registration_response消息而完成,registration消息中包含了服務(wù)相關(guān)的池名信息和服務(wù)信息請(qǐng)參閱圖3至圖5所示,其分別顯示了本發(fā)明的登記消息格式示意圖、本發(fā)明的登記消息格式中池名參數(shù)格式示意圖、本發(fā)明的登記消息格式中服務(wù)器參數(shù)格式示意圖。以及請(qǐng)參閱圖6所示,其顯示了本發(fā)明的登記回應(yīng)消息格式示意圖。
      [0046]步驟S3:池化器收到登記消息后,將對(duì)其按照池名進(jìn)行歸類,保存在其內(nèi)部的服務(wù)器列表(Server List)之中,同時(shí)發(fā)布服務(wù)器更新消息(ServerJJpdate)給其他池化器,將該服務(wù)登記信息同步到其他服務(wù)器里,從而保證所有池化器中的Server List都是一致的。
      [0047]步驟S4:池化器每隔一個(gè)時(shí)間段會(huì)對(duì)其主管服務(wù)器進(jìn)行監(jiān)控檢查,一旦發(fā)現(xiàn)有服務(wù)器發(fā)生故障,立刻從其保持的服務(wù)器列表(Server List)中刪除該服務(wù)器,同時(shí)發(fā)送服務(wù)器更新消息給其他池化器,其他池化器接到該消息后,也同時(shí)從自己的服務(wù)器列表中刪除該服務(wù)器。
      [0048]步驟S5:池名解析:用戶訪問(wèn)服務(wù)器池之前,必須向池化器發(fā)送池名解析請(qǐng)求,池化器根據(jù)自身保持的服務(wù)器列表,并按照服務(wù)器池的均衡策略為用戶選擇一臺(tái)被認(rèn)為最佳的服務(wù)器IP,將結(jié)果返回給用戶;
      [0049]步驟S6:用戶訪問(wèn)服務(wù)器:根據(jù)池名解析的結(jié)果,用戶直接與服務(wù)器建立連接,按照均衡策略,不同的用戶通過(guò)池名解析,會(huì)獲得不同的服務(wù)器IP,這樣用戶的訪問(wèn)量就被分配到不同的服務(wù)器上。
      [0050]其中前述服務(wù)器狀態(tài)監(jiān)控的步驟中服務(wù)器健康檢查采用以下方式進(jìn)行:
      [0051]方法一:向服務(wù)器發(fā)送持續(xù)活動(dòng)消息(K^p_Alive),如果收到持續(xù)活動(dòng)確認(rèn)消息(Keep_Alive_Ack)則表明服務(wù)器正常;
      [0052]方法二:池化器主動(dòng)探測(cè)服務(wù)器IP及端口,主動(dòng)創(chuàng)建服務(wù)器TCP連接,連接成功則表明服務(wù)器正常;
      [0053]方法三:主動(dòng)探測(cè)服務(wù)協(xié)議,池化器向服務(wù)器依照用戶所使用的服務(wù)協(xié)議發(fā)送特定的協(xié)議,然后根據(jù)服務(wù)器的回答來(lái)判斷服務(wù)器的狀況。
      [0054]其中方法一的具體的過(guò)程為:池化器每隔一個(gè)固定的時(shí)間間隔向該服務(wù)器發(fā)送持續(xù)活動(dòng)消息Keep_Alive。請(qǐng)參閱圖7和圖8所示,其分別顯示本發(fā)明的一個(gè)實(shí)施例中保持活動(dòng)消息的格式和保持活動(dòng)消息中系統(tǒng)參數(shù)描述的格式。
      [0055]服務(wù)器接到持續(xù)活動(dòng)消息Keep_Alive后,立刻以持續(xù)活動(dòng)確認(rèn)消息Keep_Alive_Ack回復(fù)給池化器。請(qǐng)參閱圖9所示,其顯示本發(fā)明的持續(xù)活動(dòng)確認(rèn)消息的格式。在持續(xù)活動(dòng)確認(rèn)消息Keep_Alive_Ack中服務(wù)器附帶了自身的相關(guān)狀態(tài)信息(比如:CPU使用率、網(wǎng)絡(luò)使用率、內(nèi)存使用率、硬盤使用率等)。這樣池化器可以知曉服務(wù)器的實(shí)時(shí)系統(tǒng)狀況,并可以參照作為依據(jù)判斷服務(wù)器的狀況。在一些情況下,雖然服務(wù)器運(yùn)行都正常,但由于資源近乎消耗殆盡,例如CPU使用率、網(wǎng)絡(luò)使用率、內(nèi)存使用率、硬盤使用率等超過(guò)預(yù)定值,繼續(xù)運(yùn)行可能導(dǎo)致更大的問(wèn)題,這種情況,池化器可提前預(yù)知,可將該服務(wù)器設(shè)置為故障服務(wù)器。
      [0056]如果池化器發(fā)出的持續(xù)活動(dòng)消息Keep_Alive,在設(shè)定時(shí)間(timeout)內(nèi)沒(méi)有收到持續(xù)活動(dòng)確認(rèn)消息Keep_Alive_Ack,則迅速連續(xù)發(fā)送幾個(gè)持續(xù)活動(dòng)消息Keep_Alive,如果仍然沒(méi)有收到持續(xù)活動(dòng)確認(rèn)消息Keep_Alive_Ack,則可以判定服務(wù)器發(fā)生故障,這種故障可能有多種可能:服務(wù)器宕機(jī)、 軟件故障、網(wǎng)絡(luò)故障等,總之在這種情況下,用戶肯定是無(wú)法使用該服務(wù)器的服務(wù)。
      [0057]其中方法三的具體過(guò)程為:由于服務(wù)器在登記時(shí),提供其自身服務(wù)的相關(guān)信息,比如:服務(wù)協(xié)議、IP地址、端口號(hào)、以及是否進(jìn)行服務(wù)檢測(cè)等信息,如果服務(wù)器需要進(jìn)行服務(wù)檢測(cè)(見(jiàn)圖7中服務(wù)器參數(shù)Server Parameter,服務(wù)檢測(cè)Oxl為開(kāi),0x0為關(guān)),池化器根據(jù)這些信息,對(duì)該服務(wù)器進(jìn)行周期性的服務(wù)可用性探測(cè),方法是向指定的IP和端口按照其服務(wù)協(xié)議發(fā)送探測(cè)消息,然后通過(guò)服務(wù)器的回應(yīng)判斷其服務(wù)正常與否。
      [0058]這里通過(guò)一個(gè)實(shí)例說(shuō)明池化器如何通過(guò)服務(wù)器參數(shù)進(jìn)行服務(wù)可用性探測(cè):假設(shè)服務(wù)器A在登記時(shí)提供的信息為:
      [0059]
      【權(quán)利要求】
      1.一種網(wǎng)絡(luò)服務(wù)器自動(dòng)擴(kuò)展的方法,其包括如下步驟: 構(gòu)建一個(gè)服務(wù)器池系統(tǒng),并為提供相同服務(wù)的服務(wù)器組成的服務(wù)器池命名,其中所述服務(wù)器池系統(tǒng)包括: 服務(wù)器池:服務(wù)器池是由一組具有相同功能的,并被統(tǒng)一管理起來(lái)的服務(wù)器組成,每個(gè)服務(wù)器池均使用唯一的池名作為標(biāo)識(shí); 池化器:是服務(wù)器池的管理設(shè)備,負(fù)責(zé)將多臺(tái)服務(wù)器組成一個(gè)虛擬的服務(wù)器池,并對(duì)各臺(tái)服務(wù)器的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控和采集;同時(shí)提供池名解析功能,以便能讓用戶方便地訪問(wèn)服務(wù)器; 客戶端:訪問(wèn)服務(wù)器池的客戶機(jī); 服務(wù)器啟動(dòng)時(shí),服務(wù)器需在池化器處進(jìn)行登記,登記時(shí)要提供相關(guān)的系統(tǒng)信息,包括:池名、唯一的服務(wù)識(shí)別號(hào)、服務(wù)器IP地址、服務(wù)端口、服務(wù)協(xié)議、服務(wù)檢測(cè)、均衡策略; 池化器收到登記消息后,將對(duì)其按照池名進(jìn)行歸類,保存在其內(nèi)部的服務(wù)器列表之中,同時(shí)發(fā)布服務(wù)器更新消息給其他池化器,將該服務(wù)登記信息同步到其他服務(wù)器里,從而保證所有池化器中的服務(wù)器列表都是一致的; 池化器每隔一個(gè)時(shí)間段會(huì)對(duì)其主管服務(wù)器進(jìn)行監(jiān)控檢查,一旦發(fā)現(xiàn)有服務(wù)器發(fā)生故障,立刻從其保持的服務(wù)器列表中刪除該服務(wù)器,同時(shí)發(fā)送服務(wù)器更新消息給其他池化器,其他池化器接到該消息后,也同時(shí)從自己的服務(wù)器列表中刪除該服務(wù)器; 用戶訪問(wèn)服務(wù)器池之前,必須向池化器發(fā)送池名解析請(qǐng)求,池化器根據(jù)自身保持的服務(wù)器列表,并按照服務(wù)器池的均衡策略為用戶選擇一臺(tái)被認(rèn)為最佳的服務(wù)器IP,將結(jié)果返回給用戶;` 根據(jù)池名解析的結(jié)果,用戶直接與服務(wù)器建立連接,按照均衡策略,不同的用戶通過(guò)池名解析,會(huì)獲得不同的服務(wù)器IP,這樣用戶的訪問(wèn)量就被分配到不同的服務(wù)器上 當(dāng)擴(kuò)展服務(wù)器時(shí),新的服務(wù)器在池化器處進(jìn)行登記,重復(fù)前述服務(wù)器啟動(dòng)之后的步驟,實(shí)現(xiàn)服務(wù)器的擴(kuò)展。
      2.如權(quán)利要求1所述的方法,其特征在于:所述池名是由若干個(gè)從a到z的26個(gè)拉丁字母及O到9的10個(gè)阿拉伯?dāng)?shù)字及以及”符號(hào)構(gòu)成的并按一定的層次和邏輯排列,池名不能重復(fù),具有相同服務(wù)的多臺(tái)服務(wù)器擁有同一個(gè)池名。
      3.如權(quán)利要求1所述的方法,其特征在于:服務(wù)登記的過(guò)程是通過(guò)服務(wù)器向池化器發(fā)送登記消息,到服務(wù)器收到池化器發(fā)回來(lái)的登記回應(yīng)消息而完成,登記消息中包含了前述系統(tǒng)信息。
      4.如權(quán)利要求1所述的方法,其特征在于:前述服務(wù)器狀態(tài)監(jiān)控的步驟中服務(wù)器健康檢查采用以下方式進(jìn)行:如果池化器發(fā)出的持續(xù)活動(dòng)消息,在設(shè)定時(shí)間內(nèi)沒(méi)有收到持續(xù)活動(dòng)確認(rèn)消息,則迅速連續(xù)發(fā)送幾個(gè)持續(xù)活動(dòng)消息,如果仍然沒(méi)有收到持續(xù)活動(dòng)確認(rèn)消息,則可以判定服務(wù)器發(fā)生故障,如果池化器收到持續(xù)活動(dòng)確認(rèn)消息則表明服務(wù)器正常。
      5.如權(quán)利要求4所述的方法,其特征在于:在持續(xù)活動(dòng)確認(rèn)消息中服務(wù)器附帶了服務(wù)器自身的CPU使用率、網(wǎng)絡(luò)使用率、內(nèi)存使用率、硬盤使用率信息。
      6.如權(quán)利要求1所述的方法,其特征在于:前述服務(wù)器狀態(tài)監(jiān)控的步驟中服務(wù)器健康檢查采用以下方式進(jìn)行:池化器主動(dòng)探測(cè)服務(wù)器IP及端口,主動(dòng)創(chuàng)建服務(wù)器TCP連接,連接成功則表明服務(wù)器正常,否則表明服務(wù)器故障。
      7.如權(quán)利要求1所述的方法,其特征在于:前述服務(wù)器狀態(tài)監(jiān)控的步驟中服務(wù)器健康檢查采用以下方式進(jìn)行:池化器向服務(wù)器依照用戶所使用的服務(wù)協(xié)議發(fā)送特定的協(xié)議,然后根據(jù)服務(wù)器的回答來(lái)判斷服務(wù)器的狀況,池化器如果收到的服務(wù)器狀態(tài)碼為正常,則表明服務(wù)器的 服務(wù)是正常的,反之可以判斷出服務(wù)器的服務(wù)異常,即服務(wù)器發(fā)生故障。
      【文檔編號(hào)】H04L29/12GK103731289SQ201210392517
      【公開(kāi)日】2014年4月16日 申請(qǐng)日期:2012年10月16日 優(yōu)先權(quán)日:2012年10月16日
      【發(fā)明者】張焰 申請(qǐng)人:無(wú)錫云捷科技有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1