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