国产精品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>

      負載均衡方法及裝置與流程

      文檔序號:11460166閱讀:116來源:國知局
      本發(fā)明涉及互聯(lián)網(wǎng)
      技術領域
      :,特別涉及一種負載均衡方法及裝置。
      背景技術
      ::網(wǎng)絡系統(tǒng)包括前端和后端,在網(wǎng)絡系統(tǒng)的架構設計中,通常后端會部署多個提供服務的服務提供方,然后根據(jù)服務調用方的情況通過lvs/nginx等負載均衡器進行負載均衡,即為服務調用方均衡配置相應的服務提供方。然而,由于網(wǎng)絡系統(tǒng)中業(yè)務需求的變化,后端提供服務的服務提供方會根據(jù)這些變化作相應的增減。由于lvs/nginx等負載均衡器進行負載均衡時是基于固定配置進行流量轉發(fā)的,所以當服務提供方出現(xiàn)變化時,常用的lvs/nginx等負載均衡器無法感知后端服務提供方的增減,必須在服務提供方出現(xiàn)變化的時候,通過手動修改負載均衡配置才能對變化后的服務提供方進行更新。因此無法實現(xiàn)負載均衡的自動化運行和維護,直接降低了負載均衡的效率。例如,當有服務提供方a新上線時,在沒有手動修改配置前,lvs/nginx等負載均衡器并未感知到該上線情況,即負載均衡器并未感知到服務提供方a的增加,所以無法將服務調用方分配給該服務提供方a,從而出現(xiàn)該服務提供方a處于空閑狀態(tài)的情況,造成服務提供方資源的浪費,極大地影響了負載均衡的效率。當服務提供方b離線時,lvs/nginx等負載均衡器并未感知到該離線情況,仍可能將服務調用方分配給服務提供方b,從而使分配給服務提供方b的服務調用方得不到及時處理,直接影響了負載均衡的效率。技術實現(xiàn)要素:為了解決相關技術中存在的無法實現(xiàn)負載均衡自動運行和維護,負載均衡的效率較低的問題,本發(fā)明提供了一種負載均衡方法及裝置。一種負載均衡方法,所述方法包括:獲取網(wǎng)絡系統(tǒng)中服務提供方的服務狀態(tài)變化信息;按照所述服務狀態(tài)變化信息對參與負載均衡的服務提供方隊列進行更新;根據(jù)所述服務提供方隊列,為服務調用方均衡配置相應的服務提供方。一種負載均衡裝置,所述裝置包括:獲取模塊,用于獲取網(wǎng)絡系統(tǒng)中服務提供方的服務狀態(tài)變化信息;更新模塊,用于按照所述服務狀態(tài)變化信息對參與負載均衡的服務提供方隊列進行更新;配置模塊,用于根據(jù)所述服務提供方隊列,為服務調用方均衡配置相應的服務提供方。本發(fā)明的實施例提供的技術方案可以包括以下有益效果:獲取網(wǎng)絡系統(tǒng)中服務提供方的服務狀態(tài)變化信息,按照該服務狀態(tài)變化信息對參與負載均衡的服務提供方隊列進行更新,根據(jù)該服務提供方隊列,為服務調用方均衡配置相應的服務提供方,從而使得負載均衡的服務提供方出現(xiàn)變化時,自動更新服務提供方隊列,因此會將服務調用方分配給最新的服務提供方隊列,從而實現(xiàn)了負載均衡的自動運行和維護,提高了負載均衡的效率。應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本發(fā)明。附圖說明此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發(fā)明的實施例,并于說明書一起用于解釋本發(fā)明的原理。圖1是負載均衡的一個具體應用示意圖;圖2是根據(jù)一示例性實施例示出的一種負載均衡方法的流程圖;圖3是對應圖2中實施例的獲取網(wǎng)絡系統(tǒng)中服務提供方的服務狀態(tài)變化信息步驟的流程圖;圖4是對應圖2中實施例的按照所述服務狀態(tài)變化信息對參與負載均衡的服務提供方隊列進行更新步驟的一種具體實現(xiàn)流程圖;圖5是對應圖2中實施例的根據(jù)所述服務提供方隊列,為服務調用方均衡配置相應的服務提供方步驟的一種具體實現(xiàn)流程圖;圖6是根據(jù)一示例性實施例示出的一種負載均衡示意圖;圖7是根據(jù)一示例性實施例示出的增加一個服務提供方的負載均衡示意圖;圖8是根據(jù)一示例性實施例示出的一種負載均衡裝置的框圖;圖9是圖8對應實施例示出的獲取模塊的細節(jié)進行描述的框圖;圖10是圖8對應實施例示出的更新模塊的細節(jié)進行描述的框圖;圖11是圖8對應實施例示出的配置模塊的細節(jié)進行描述的框圖。具體實施方式這里將詳細地對示例性實施例執(zhí)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。圖1是負載均衡的一個具體應用示意圖。該具體應用包括:至少一個服務提供方110、至少一個服務代理130、至少一個服務調用方150和至少一個服務提供方隊列170。服務提供方110與服務代理130之間的關聯(lián)方式,包括有線或無線的網(wǎng)絡關聯(lián)方式,以及二者之間往來的數(shù)據(jù)關聯(lián)方式,具體的關聯(lián)方式不受本實施例的限制。服務代理130與服務提供方隊列170之間的關聯(lián)方式,包括有線或無線的網(wǎng)絡關聯(lián)方式,以及二者之間往來的數(shù)據(jù)關聯(lián)方式,具體的關聯(lián)方式不受本實施例的限制。服務調用方150與服務提供方隊列170之間的關聯(lián)方式,包括有線或無線的網(wǎng)絡關聯(lián)方式,以及二者之間往來的數(shù)據(jù)關聯(lián)方式,具體的關聯(lián)方式不受本實施例的限制。并且在此具體應用中,服務代理130會獲取到服務提供方110的服務狀態(tài)變化信息,然后根據(jù)服務狀態(tài)變化信息更新服務提供方隊列170,這時候服務調用方150就能選用到自動更新后的服務提供方隊列170里的服務提供方。進而實現(xiàn)了自動化更新服務提供方隊列,提高了負載均衡的效率。圖2是根據(jù)一示例性實施例示出的一種負載均衡方法的流程圖。如圖2所示,該負載均衡方法可以包括以下步驟。在步驟s210中,獲取網(wǎng)絡系統(tǒng)中服務提供方的服務狀態(tài)變化信息。其中,服務提供方是指能提供實際的服務處理能力或者任務處理能力的一方,服務提供方在網(wǎng)絡系統(tǒng)中成功進行注冊之后,才能進行服務處理。網(wǎng)絡系統(tǒng)中,服務提供方的狀態(tài)發(fā)生變化后,會生成服務狀態(tài)變化信息并發(fā)送給網(wǎng)絡系統(tǒng)中的服務代理。該服務狀態(tài)變化信息里包括服務提供方標識、消息類型、服務類型等。服務代理獲取到該服務狀態(tài)變化信息后,根據(jù)該服務狀態(tài)變化信息執(zhí)行相應的操作。在步驟s230中,按照服務狀態(tài)變化信息對參與負載均衡的服務提供方隊列進行更新。其中,經過步驟s210獲得服務狀態(tài)變化信息后,服務代理將收到的服務狀態(tài)變化信息進行處理,包括提取該服務狀態(tài)變化信息的內容。服務代理會請求監(jiān)聽網(wǎng)絡系統(tǒng)中服務提供方的服務狀態(tài)變化,在服務提供方發(fā)生變化的時候,服務代理會收到服務狀態(tài)變化信息,通過該服務狀態(tài)變化信息,對服務提供方隊列進行處理。本方案中,服務提供方是指能提供實際處理能力的服務節(jié)點,服務提供方標識是指對服務提供方進行識別的特定標記??梢允侵阜仗峁┓降木W(wǎng)絡地址,例如192.168.66.89。網(wǎng)絡系統(tǒng)中的服務節(jié)點,都會預先設定相應的名稱和網(wǎng)絡地址,這樣在網(wǎng)絡系統(tǒng)中能被識別和通訊。服務提供方的消息類型可以是上線、在線或離線。服務提供方隊列是指包括一系列服務提供方標識等內容的組合,也可以稱為服務提供方鏈。服務調用方發(fā)起服務調用請求后,服務提供方隊列將該調用請求轉發(fā)到服務提供方標識對應的服務提供方。在收到服務狀態(tài)變化信息后,通過及時對服務提供方隊列進行相應的更新處理,以保證服務調用方的資源有效利用和服務調用方得到實時的處理,從而提高負載均衡的效率。在步驟s250中,根據(jù)服務提供方隊列,為服務調用方均衡配置相應的服務提供方。其中,服務調用方是指能調用服務請求或者服務任務的一方,此處相應的服務提供方是指與該服務調用方相匹配的服務提供方。根據(jù)步驟s230更新的服務提供方隊列是根據(jù)最新的服務狀態(tài)變化信息對服務提供方隊列進行的更新或調整后的服務提供方隊列。此處的均衡配置是指更新后的服務提供方隊列中的服務提供方被服務調用方選擇到的概率均等。例如,網(wǎng)絡系統(tǒng)中,目前有3個服務提供方,那么每個服務提供方接到服務調用方的概率是33.333%。如果這時候新注冊了一個服務提供方,也就是網(wǎng)絡系統(tǒng)中總共存在4個服務提供方,這時候每個服務提供方接到服務調用方的概率是25%。如果前面3個服務提供方中有一個出現(xiàn)了故障,也就是網(wǎng)絡系統(tǒng)中總共存在2個服務提供方,這時候每個服務提供方接到服務調用方的概率是50%。通過如上所述的方法,網(wǎng)絡系統(tǒng)中服務提供方的狀態(tài)信息發(fā)生變化時,能夠根據(jù)收到的服務狀態(tài)變化信息自動更新服務提供方隊列,實現(xiàn)了負載均衡的自動運行和維護,大大提高了負載均衡的效率。圖3是對應圖2中實施例示出的對步驟s210的細節(jié)的描述。該步驟s210可以包括以下步驟。在步驟s211中,根據(jù)預置的時間間隔向注冊中心發(fā)送監(jiān)聽狀態(tài)變化的請求。其中,預置的時間間隔是指時間間隔是預先設定的。網(wǎng)絡系統(tǒng)中,由于數(shù)據(jù)瞬間變化,所以預先設置的時間間隔不能過大,否則就可能失去了監(jiān)聽的效果。例如預先設置時間間隔為1秒,即說明服務代理每隔1秒鐘就向注冊中心發(fā)送監(jiān)聽狀態(tài)變化的請求。在網(wǎng)絡系統(tǒng)中,服務提供方會發(fā)送注冊請求,該注冊請求用于服務提供方的注冊登記,在服務提供方進行成功注冊登記后,會按照一定的時間間隔來發(fā)送心跳請求,網(wǎng)絡系統(tǒng)根據(jù)是否能收到該心跳請求來判斷服務提供方是否在線。服務提供方成功進行注冊登記后,網(wǎng)絡系統(tǒng)會發(fā)送服務狀態(tài)變化信息,在此情形下,該服務狀態(tài)變化信息包括上線等信息。服務提供方注冊成功后,如果網(wǎng)絡系統(tǒng)能正常收到心跳請求,即說明服務提供方依然存活或在線,該服務提供方的狀態(tài)信息沒有發(fā)生變化,能夠正常處理服務調用方。如果間隔一定時間或者間隔一定次數(shù)無法收到心跳請求,即說明服務提供方的狀態(tài)信息已經發(fā)生變化,網(wǎng)絡系統(tǒng)會發(fā)送服務狀態(tài)變化信息,在此情形下,該服務狀態(tài)變化信息包括離線等信息,無法繼續(xù)處理服務調用方。注冊中心是存在于網(wǎng)絡系統(tǒng)中的一個節(jié)點,注冊中心能接收服務提供方的注冊請求,并根據(jù)收到的服務請求對服務提供方進行注冊。在步驟s213中,接收注冊中心響應請求發(fā)送的服務狀態(tài)變化信息。注冊中心在收到服務代理監(jiān)聽狀態(tài)變化的請求時,如果監(jiān)聽到服務提供方的狀態(tài)發(fā)生了變化,會針對該請求進行響應,向服務代理發(fā)送相應的服務狀態(tài)變化信息。例如,服務提供方注冊成功后,注冊中心會將該注冊成功的狀態(tài)信息發(fā)給所有在監(jiān)聽服務狀態(tài)變化信息的服務代理。成功注冊的服務提供方,會定時向注冊中心發(fā)送心跳請求,注冊中心會根據(jù)是否正常收到心跳請求來判斷該服務提供方的狀態(tài)信息。如果狀態(tài)信息發(fā)生變化,注冊中心還會將發(fā)生變化的該狀態(tài)信息發(fā)給所有在監(jiān)聽服務狀態(tài)變化信息的服務代理。通過如上所述的方法,通過預置的時間間隔監(jiān)聽服務提供方的狀態(tài)變化,狀態(tài)發(fā)生變化時能夠服務代理能及時收到服務提供方的服務狀態(tài)變化信息,為實現(xiàn)負載均衡的自動運行和維護,提高了負載均衡的效率提供了方便。圖4是對應圖2中實施例的按照所述服務狀態(tài)變化信息對參與負載均衡的服務提供方隊列進行更新步驟的一種具體實現(xiàn)流程圖。該s230步驟可以包括以下步驟。在步驟s231中,從服務狀態(tài)變化信息獲取消息類型。通過步驟s210獲取了服務狀態(tài)變化信息,本步驟s231中,從該服務狀態(tài)變化信息提取消息類型,根據(jù)獲取的消息類型進行后續(xù)的操作。其中消息類型一般會有上線、在線、離線等。例如,現(xiàn)在收到的服務狀態(tài)變化信息中包括有:消息類型,服務類型,服務提供方標識等。服務代理根據(jù)會從該服務狀態(tài)變化信息中提取該消息類型。正常情況下,當服務提供方的狀態(tài)信息發(fā)生變化時,就會生成一條服務狀態(tài)變化信息。因為服務狀態(tài)變化信息包括該服務提供方消息類型等,因此根據(jù)收到的這個服務狀態(tài)變化信息,就能獲取到與服務狀態(tài)變化信息中的消息類型對應的服務提供方。即使在特殊情況下,比如在極短的時候內,多個服務提供方的狀態(tài)信息發(fā)生了變化,就會為每個服務提供方生成一條服務狀態(tài)變化信息,因此根據(jù)收到的這個服務狀態(tài)變化信息,也能獲取到消息類型與該消息類型對應的服務提供方。在本方案中的消息類型代表的是服務提供方的狀態(tài),比如上線代表服務提供方注冊成功;在線代表服務提供方注冊成功后,網(wǎng)絡系統(tǒng)能正常接收到該服務提供方的反饋信息,比如心跳請求等;離線代表服務提供方無法提供服務,比如服務提供方出現(xiàn)故障或者掉線等,這時候網(wǎng)絡系統(tǒng)無法正常收到服務提供方的反饋信息,比如無法收到心跳請求。在步驟s233中,按照所述消息類型對參與負載均衡的服務提供方隊列進行更新。服務代理從服務狀態(tài)變化信息獲取到消息類型后,依據(jù)該消息類型對參與負載均衡的服務提供方隊列進行更新。其中,本方案中主要涉及到的消息類型是上線和離線。如果服務代理收到的消息類型是上線,則在服務提供方隊列中增加消息類型對應的服務提供方標識,如果服務代理收到的消息類型是離線,則在服務提供方隊列中刪除消息類型對應的服務提供方標識。此處對應的服務提供方標識是指該消息類型所指向的服務提供方標識。上線的消息類型是指有新的服務提供方注冊成功,對于該注冊成功的服務提供方,還需要在服務提供方隊列中進行相應的操作才能夠正常提供相應的任務處理能力,只有將該注冊成功的服務提供方對應的服務提供方標識增加到服務提供方隊列之后,才能被服務調用方使用到該注冊的服務提供方。例如,網(wǎng)絡系統(tǒng)中,目前包括一個服務提供方a,一個服務提供方隊列b,一個服務代理c和一個服務調用方d。這也就是說服務提供方隊列b中只有一個服務提供方標識即與服務提供方a對應的服務提供方標識,這樣服務調用方d被服務提供方a選擇到的概率就是100%。如果這個時候服務代理c發(fā)現(xiàn)有一個服務提供方e注冊成功,服務代理c會將與該注冊成功的服務提供方e對應的服務提供方標識增加到服務提供方隊列b中,此時服務提供方隊列b中存在兩個服務提供方標識(與服務提供方a對應的服務提供方標識和與服務提供方e對應的服務提供方標識),在此情形下,服務調用方d被服務提供方a或者被服務提供方e選擇到的概率均為50%。同理,如果網(wǎng)絡系統(tǒng)中,目前包括一個服務提供方a和一個服務提供方b,一個服務提供方隊列c,一個服務代理d和一個服務調用方e,且與服務提供方a對應的服務提供方標識和與服務提供方b對應的服務提供方標識均在服務提供方隊列c中。這也就是說服務提供方隊列c中有兩個服務提供方即與服務提供方a對應的服務提供方標識和與服務提供方b對應的服務提供方標識,這樣服務調用方e被服務提供方a或服務提供方b選擇到的概率各是50%。如果這個時候服務代理d發(fā)現(xiàn)有一個服務提供方a的服務狀態(tài)信息變成了離線,這說明服務提供方a無法被服務調用方選擇到,因此不能提供相應的處理能力。所以需要服務代理根據(jù)這個離線的服務狀態(tài)變化信息,在服務提供方隊列中對與服務提供方a對應的服務提供方標識進行相應的操作,即將與服務提供方a對應的服務提供方標識刪除掉。這樣服務提供方隊列中僅剩下一個與服務提供方b對應的服務提供方標識,因此服務調用方e被服務提供方b選擇到的概率就是100%。進一步的,服務代理收到上線的消息類型時,在服務提供方隊列中,增加服務提供方標識與服務提供方虛擬名稱的對應關系條目。其中,服務提供方虛擬名稱是服務代理隨機生成的名稱,具有唯一性,即在服務提供方隊列里增加一條該服務提供方虛擬名稱與服務提供方標識具有對應關系的記錄,該記錄將該服務提供方虛擬名稱指向服務提供方標識對應的服務提供方。當然,服務代理收到下線的消息類型時,會在服務提供方隊列中刪除與服務提供方標識的記錄,這樣即刪除了下線的服務提供方標識對應的記錄,因此不會再被分配給服務調用方。例如,服務代理收到服務提供方注冊信息后,生成了一個服務提供方虛擬名稱為“svc-producer-zo2i67mhaq44uum7”,其對應的服務提供方標識為172.100.79.3。服務提供方標識與服務提供方虛擬名稱的對應關系條目為svc-producer-zo2i67mhaq44uum7-ptcp-mcomment--comment"serviceproducerrule"-mtcp-jdnat--to-destination172.100.79.3:80,通過該規(guī)則即建立了相應的對應關系,即dnat轉發(fā)關系。負載均衡分配的時候,根據(jù)這個對應關系,通過服務調用方的服務類型,找到服務提供方隊列中的該服務類型里的服務提供方標識的對應關系條目,最終通過對應關系條目將服務調用請求分配給實際的服務提供方。進一步的,服務狀態(tài)變化信息里還包括服務類型等內容,服務提供方的服務類型可以是數(shù)據(jù)庫類型、redis類型或者網(wǎng)頁類型等??梢岳斫獾氖?,為了將服務提供方做更精細化的區(qū)分,也就是將不同服務類型的服務提供方進行分組。需要獲取與消息類型對應的服務提供方的服務類型,然后根據(jù)該服務類型對服務提供方進行歸類或分組。其中,服務類型是為了服務隊列能更有效的提供服務,而將服務隊列中的服務提供方進行的歸類或分組。在服務提供方較多的情況下,將服務提供方隊列中的服務提供方進行分組更能達到有效管理和高效分配的效果。也就是服務代理根據(jù)服務類型將服務提供方隊列里的服務提供方的定位更加精細化。其中,在沒有區(qū)分服務類型的情況下,該服務提供方隊列中的所有服務提供方被服務調用方選擇到的概率均等。即在此情況下,該服務提供方隊列中任意一個服務提供方被服務調用方選擇到的幾率是均等的。如果增加了服務類型,服務代理會根據(jù)服務類型,將服務提供方隊列中的服務提供方進行相應的分組或排序,同一個服務類型的服務提供方會被更新在一起。這個服務類型的服務調用方最終會被分配給服務提供方隊列中的與該服務類型相同的服務提供方。例如,網(wǎng)絡系統(tǒng)中,目前存在a、b、c、d共4個服務提供方,一個服務提供方隊列e,這個服務提供方隊列e中包括兩種服務類型(即分為2組),如數(shù)據(jù)庫類型、redis類型。數(shù)據(jù)庫類型中有與a、b兩個服務提供方對應的服務提供方標識,redis類型中有與c、d兩個服務提供方對應的服務提供方標識。如果這個時候新增一個服務提供方f的服務類型正好是這兩個服務類型中的一個,比如數(shù)據(jù)庫類型,那么服務代理會將與這個新增的服務提供方f對應的服務提供方標識增加到服務提供方隊列e中服務類型為數(shù)據(jù)類型這個分組里面。此時在數(shù)據(jù)類型這個分組里會有與a、b、f三個服務提供方對應的服務提供方標識。因為網(wǎng)絡系統(tǒng)根據(jù)業(yè)務需求的變化進行調整的情形特別多,為了能更靈活的處理新增的服務類型。服務代理根據(jù)收到的新注冊增加的服務提供方的服務狀態(tài)變化信息,可以獲取到服務類型,然后將該服務類型與服務提供方隊列中的服務類型進行比較,如果沒有相同的服務類型,則說明這是一個新的服務類型,這時候服務代理會先在服務提供方隊里中增加這個消息類型的相關內容。例如,前面的例子中提到,服務提供方隊列e中包括兩種服務類型即數(shù)據(jù)庫類型和redis類型。如果此時從收到的服務狀態(tài)變化信息中獲取的消息類型是網(wǎng)頁類型,如前所述,因為服務提供方隊列e中只有數(shù)據(jù)庫類型和redis類型,沒有網(wǎng)頁類型,所以需要將這各網(wǎng)頁類型加入到服務提供方隊列e中,這時候服務提供方隊列e中的服務類型共有三種,即數(shù)據(jù)庫類型、redis類型和網(wǎng)頁類型。通過如上所述的方法,根據(jù)服務狀態(tài)變化信息獲取消息類型,進而根據(jù)消息類型對服務提供方隊列進行更新或調整。而且服務代理根據(jù)服務類型,能將服務提供方隊列進行細分,為服務調用方被更精準的服務提供方選擇到提供了便利。在新增服務提供方的情況下能及時將新增的服務提供方加入到服務提供方隊列中,在服務提供方離線的情況下,能及時將服務提供方隊列中的該服務提供方刪除。實現(xiàn)了負載均衡的自動化運行和維護,有效提高了效率。圖5是對應圖2中實施例的根據(jù)所述服務提供方隊列,為服務調用方均衡配置相應的服務提供方步驟的一種具體實現(xiàn)流程圖。該步驟s250可以包括以下步驟。在步驟s251中,獲取服務調用方的服務類型。服務調用方預先設置有服務類型,如數(shù)據(jù)庫類型、redis類型等。其中,收到服務調用方之后,會先獲取服務調用方的服務類型。在步驟s253中,在服務提供方隊列中查找服務類型對應的服務提供方標識。依據(jù)步驟s251,獲取到服務類型,在服務提供方隊列中查找該服務類型,找到服務類型后,即可查到該服務類型里的服務提供方標識。此處對應的服務提供方標識是指與服務調用方的服務類型相匹配的服務提供方標識。在步驟s255中,為服務調用方均衡配置與服務提供方標識對應的服務提供方。根據(jù)前述步驟獲取的服務調用方的服務類型,以及查找到的服務提供方標識,依據(jù)服務類型將匹配該類型的所有服務提供方標識進行均衡配置,即服務提供方隊列中匹配該服務類型的服務提供方標識對應的所有服務提供方接到該服務調用方的幾率是均等的。如果網(wǎng)絡系統(tǒng)中本身并沒有做服務類型的區(qū)分或者不需要服務類型,則服務提供方隊列中所有的服務提供方標識對應的服務提供方接到該服務調用方的幾率是均等的。通過如上所述的方法,根據(jù)服務調用方的服務類型來查找匹配的服務提供方,對該匹配的服務提供方標識進行均衡處理。實現(xiàn)了負載均衡的自動化運行和維護,提高了效率。圖6是根據(jù)一示例性實施例示出的一種負載均衡示意圖。下面對負載均衡進行一個示例性描述。具體的,如圖7所示,服務提供方410和服務提供方412會向注冊中心411發(fā)送注冊請求,注冊中心411會根據(jù)注冊請求,對服務提供方410和服務提供方412進行注冊,注冊成功后,注冊中心411會向服務代理413發(fā)送針對該服務提供方410和服務提供方412的服務狀態(tài)變化信息。服務代理413收到該服務狀態(tài)變化信息后,從該服務狀態(tài)變化信息獲取到的消息類型為上線,服務代理413將該服務提供方410的服務提供方標識和服務提供方412的服務提供方標識更新到iptables(即服務提供方隊列),更新后的iptables會響應服務調用方414的請求,并根據(jù)服務調用方的情況選擇iptables中的服務提供方,在圖7中,服務調用方414被分配給服務提供方410或服務提供方412的幾率是均等的,即各50%。成功注冊的服務提供方410和服務提供方412會定時向注冊中心發(fā)送心跳請求,通過該心跳請求告知注冊中心411服務提供方410和服務提供方412自身的狀態(tài)情況,如是否在線(存活)。例如,注冊中心411在間隔一定的時間或者間隔一定的次數(shù)無法收到服務提供方410的心跳請求,就會向服務代理413發(fā)送針對該服務提供方410的服務狀態(tài)變化信息。服務代理413收到該服務狀態(tài)變化信息后,從該服務狀態(tài)變化信息獲取到的消息類型為離線,服務代理413將該服務提供方410的服務提供方標識從iptables(即服務提供方隊列)中刪除,更新后的iptables會響應服務調用方414的請求,并根據(jù)服務調用方的情況選擇iptables中的服務提供方標識對應的服務提供方,在圖7中,服務調用方414最終會被分配給服務提供方412。圖7是根據(jù)一示例性實施例示出的增加一個服務提供方的負載均衡示意圖。具體的,如圖7所示,例如,當前環(huán)境下服務提供方隊列511里的服務類型a只有1個服務提供方1,該服務提供方1部署在節(jié)點b上,如果這時候在節(jié)點c上在部署了一個服務提供方2,服務代理會將服務提供方2根據(jù)其服務類型加入到服務提供方隊列中,即加入到服務提供方隊列的服務類型a中,如框圖中512所示,在服務提供方1的服務提供方標識前面增加服務提供方2的服務提供方標識,即將服務提供方2的服務提供方標識排在服務提供方1的服務提供方標識的前面。此時服務提供方隊列中服務類型a里共有兩個服務提供方標識即服務提供方1的服務提供方標識和服務提供方2的服務提供方標識,服務提供方2的服務提供方標識排在首位,所以最終會將50%的概率分配服務提供方2,剩下的概率直接分配給剩余的服務提供方,在此處即將剩下的50%分配各服務提供方1。然后服務代理在服務提供方隊列中配置服務提供方2的dnat轉發(fā)規(guī)則2和和服務提供方1的dnat轉發(fā)規(guī)則1,根據(jù)這些規(guī)則,轉發(fā)規(guī)則1對應到節(jié)點c中的服務提供方1,轉發(fā)規(guī)則2對應到節(jié)點b中的服務提供方2。在此情形下,節(jié)點a上服務類型a的服務調用方發(fā)送的請求,執(zhí)行路徑如下,服務調用方根據(jù)服務類型a找到服務隊列中的服務提供方1的服務提供方標識和服務提供方2的服務提供方標識,因為服務提供方1和服務提供方2的概率各為50%,所以機會均等,假設這時候服務調用方的請求被分配給服務提供方隊列中的服務提供方2,那么執(zhí)行對應服務提供方2的轉發(fā)規(guī)則,根據(jù)轉發(fā)規(guī)則,通過服務提供方隊列中的服務提供方2的服務提供方標識最終對應到節(jié)點b上的服務提供方2,即由節(jié)點b上的服務提供方2實際處理服務調用方的請求。圖8是根據(jù)一示例性實施例示出的一種負載均衡裝置的框圖。該負載均衡裝置600,如圖8所示,可以包括但不限于:獲取模塊610,更新模塊630和配置模塊650。獲取模塊610,用于獲取網(wǎng)絡系統(tǒng)中服務提供方的服務狀態(tài)變化信息。更新模塊630,用于按照服務狀態(tài)變化信息對參與負載均衡的服務提供方隊列進行更新。配置模塊650,用于根據(jù)服務提供方隊列,為服務調用方均衡配置相應的服務提供方。上述負載均衡裝置中各個模塊的功能和作用的實現(xiàn)過程具體詳見上述負載均衡方法中對應步驟的實現(xiàn)過程,在此不再贅述。圖9是圖8對應實施例示出的獲取模塊的細節(jié)進行描述的框圖。該獲取模塊610,如圖9所示,可以包括但不限于:監(jiān)聽單元611,接收單元613。監(jiān)聽單元611,用于根據(jù)預置的時間間隔向注冊中心發(fā)送監(jiān)聽狀態(tài)變化的請求。接收單元613,用于接收注冊中心響應請求發(fā)送的服務狀態(tài)變化信息。圖10是圖8對應實施例示出的更新模塊的細節(jié)進行描述的框圖。該更新模塊630,如圖10所示,可以包括但不限于:消息類型單元631,隊列調整單元633。消息類型單元631,用于從服務狀態(tài)變化信息獲取消息類型。隊列調整單元633,按照所述消息類型對參與負載均衡的服務提供方隊列進行更新。圖11是圖8對應實施例示出的配置模塊的細節(jié)進行描述的框圖。該配置模塊650,如圖11所示,可以包括但不限于:服務類型單元651,查找單元653和均衡配置單元655。服務類型單元651,用于獲取服務調用方的服務類型。查找單元653,用于在服務提供方隊列中查找服務類型對應的服務提供方標識。均衡配置單元655,用于為服務調用方均衡配置與所述服務提供方標識對應的服務提供方。應當理解的是,本發(fā)明并不局限于上面已經描述并在附圖中示出的精確結構,并且可以在不脫離其范圍執(zhí)行各種修改和改變。本發(fā)明的范圍僅由所附的權利要求來限制。當前第1頁12當前第1頁12
      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1