本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種微服務(wù)架構(gòu)。
背景技術(shù):
目前,云計(jì)算成為IT領(lǐng)域最熱門(mén)的技術(shù)之一;隨著信息科技的發(fā)展,云計(jì)算逐步成為業(yè)界的發(fā)展熱點(diǎn),國(guó)內(nèi)外各大廠商的云計(jì)算服務(wù)平臺(tái)也開(kāi)始紛紛投入到科學(xué)、教育、文化、衛(wèi)生、政府、高性能計(jì)算、電子商務(wù)、物聯(lián)網(wǎng)等多個(gè)領(lǐng)域進(jìn)行使用。
隨著云規(guī)模的不斷擴(kuò)大,云平臺(tái)用戶的不斷增多,系統(tǒng)高可用性要求也越來(lái)越高;但是目前提供的基于云計(jì)算的系統(tǒng)架構(gòu)均無(wú)法滿足日益增高的高可用性要求。
綜上所述,如何提供一種能夠滿足日益增高的高可用性要求的架構(gòu)方案,是目前本領(lǐng)域技術(shù)人員亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種微服務(wù)架構(gòu),以滿足日益增高的高可用性要求。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種微服務(wù)架構(gòu),包括服務(wù)路由控制器、服務(wù)提供控制器及服務(wù)調(diào)用控制器,其中:
所述服務(wù)調(diào)用控制器,用于發(fā)送服務(wù)調(diào)用方對(duì)應(yīng)的服務(wù)調(diào)用請(qǐng)求至所述服務(wù)路由控制器,以及用于接收所述服務(wù)路由控制器返回的服務(wù)地址信息,并將所述服務(wù)地址信息轉(zhuǎn)換成網(wǎng)絡(luò)調(diào)用請(qǐng)求后發(fā)送至所述服務(wù)提供控制器;
所述服務(wù)路由控制器,用于基于動(dòng)態(tài)負(fù)載均衡策略確定出與所述服務(wù)調(diào)用請(qǐng)求對(duì)應(yīng)的服務(wù)提供者的服務(wù)地址信息;
所述服務(wù)提供控制器,用于將所述網(wǎng)絡(luò)調(diào)用請(qǐng)求轉(zhuǎn)換成所述服務(wù)地址信息,并提供與所述服務(wù)地址信息對(duì)應(yīng)的服務(wù)。
優(yōu)選的,還包括服務(wù)注冊(cè)控制器,
所述服務(wù)注冊(cè)控制器用于獲取所述服務(wù)調(diào)用方的調(diào)用信息以及提供服務(wù)的服務(wù)提供方的提供信息并存儲(chǔ)。
優(yōu)選的,所述提供信息包括注冊(cè)類(lèi)型、服務(wù)API名稱(chēng)、服務(wù)提供者IP地址、端口、服務(wù)API全部方法名。
優(yōu)選的,所述調(diào)用信息包括注冊(cè)類(lèi)型、服務(wù)API名稱(chēng)、服務(wù)調(diào)用者IP地址及服務(wù)API全部方法名。
優(yōu)選的,所述服務(wù)路由控制器包括存儲(chǔ)單元,所述存儲(chǔ)單元用于存儲(chǔ)全部服務(wù)調(diào)用者及服務(wù)提供者對(duì)應(yīng)的路由地址表,以供所述服務(wù)路由控制器基于該路由地址表確定出與所述服務(wù)調(diào)用請(qǐng)求對(duì)應(yīng)的服務(wù)地址信息。
優(yōu)選的,還包括服務(wù)監(jiān)控控制器,所述服務(wù)監(jiān)控控制器用于實(shí)時(shí)監(jiān)測(cè)服務(wù)的狀態(tài),并在監(jiān)測(cè)到服務(wù)被注銷(xiāo)或不可用時(shí),對(duì)所述路由地址表中的對(duì)應(yīng)信息進(jìn)行更新。
優(yōu)選的,所述服務(wù)提供者包括云管理平臺(tái)中的計(jì)算模塊及網(wǎng)絡(luò)模塊。
本發(fā)明提供的一種微服務(wù)架構(gòu),包括服務(wù)路由控制器、服務(wù)提供控制器及服務(wù)調(diào)用控制器,其中:所述服務(wù)調(diào)用控制器,用于發(fā)送服務(wù)調(diào)用方對(duì)應(yīng)的服務(wù)調(diào)用請(qǐng)求至所述服務(wù)路由控制器,以及用于接收所述服務(wù)路由控制器返回的服務(wù)地址信息,并將所述服務(wù)地址信息轉(zhuǎn)換成網(wǎng)絡(luò)調(diào)用請(qǐng)求后發(fā)送至所述服務(wù)提供控制器;所述服務(wù)路由控制器,用于基于動(dòng)態(tài)負(fù)載均衡策略確定出與所述服務(wù)調(diào)用請(qǐng)求對(duì)應(yīng)的服務(wù)提供者的服務(wù)地址信息;所述服務(wù)提供控制器,用于將所述網(wǎng)絡(luò)調(diào)用請(qǐng)求轉(zhuǎn)換成所述服務(wù)地址信息,并提供與所述服務(wù)地址信息對(duì)應(yīng)的服務(wù)。本申請(qǐng)公開(kāi)的技術(shù)方案中,服務(wù)調(diào)用控制器為服務(wù)調(diào)用方發(fā)起對(duì)應(yīng)服務(wù)調(diào)用請(qǐng)求,服務(wù)路由控制器基于動(dòng)態(tài)負(fù)載均衡策略確定出提供服務(wù)的服務(wù)提供者的服務(wù)地址信息,服務(wù)調(diào)用控制器將該服務(wù)地址信息轉(zhuǎn)換成網(wǎng)絡(luò)調(diào)用請(qǐng)求發(fā)送至服務(wù)調(diào)用控制器,由服務(wù)調(diào)用控制器將網(wǎng)絡(luò)調(diào)用請(qǐng)求還原至服務(wù)地址信息后提供對(duì)應(yīng)服務(wù),從而實(shí)現(xiàn)基于網(wǎng)絡(luò)的服務(wù)調(diào)用,且服務(wù)路由控制器在確定與服務(wù)調(diào)用請(qǐng)求對(duì)應(yīng)的服務(wù)地址信息時(shí)是基于動(dòng)態(tài)負(fù)載均衡策略實(shí)現(xiàn)的,從而綜合實(shí)現(xiàn)了該微服務(wù)架構(gòu)的高可用性,滿足了云平臺(tái)服務(wù)的可擴(kuò)展、高可用的需求。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種微服務(wù)架構(gòu)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參閱圖1,其示出了本發(fā)明實(shí)施例提供的一種微服務(wù)架構(gòu)的結(jié)構(gòu)示意圖,可以包括服務(wù)路由控制器12、服務(wù)提供控制器11及服務(wù)調(diào)用控制器13,其中:
服務(wù)調(diào)用控制器13,用于發(fā)送服務(wù)調(diào)用方對(duì)應(yīng)的服務(wù)調(diào)用請(qǐng)求至服務(wù)路由控制器12,以及用于接收服務(wù)路由控制器12返回的服務(wù)地址信息,并將服務(wù)地址信息轉(zhuǎn)換成網(wǎng)絡(luò)調(diào)用請(qǐng)求后發(fā)送至服務(wù)提供控制器11;
服務(wù)路由控制器12,用于基于動(dòng)態(tài)負(fù)載均衡策略確定出與服務(wù)調(diào)用請(qǐng)求對(duì)應(yīng)的服務(wù)提供者的服務(wù)地址信息;
服務(wù)提供控制器11,用于將網(wǎng)絡(luò)調(diào)用請(qǐng)求轉(zhuǎn)換成服務(wù)地址信息,并提供與服務(wù)地址信息對(duì)應(yīng)的服務(wù)。
需要說(shuō)明的是,本發(fā)明實(shí)施例提供的微服務(wù)架構(gòu)包括服務(wù)路由控制器、服務(wù)提供控制器及服務(wù)調(diào)用控制器,各部件的工作過(guò)程可以說(shuō)明如下:服務(wù)調(diào)用控制器將服務(wù)調(diào)用方發(fā)起的服務(wù)調(diào)用請(qǐng)求發(fā)送至服務(wù)路由控制器,服務(wù)路由控制器基于動(dòng)態(tài)負(fù)載均衡策略確定與能夠提供與服務(wù)調(diào)用請(qǐng)求的服務(wù)提供者的服務(wù)地址信息,服務(wù)調(diào)用控制器將該地址信息轉(zhuǎn)換成網(wǎng)絡(luò)調(diào)用請(qǐng)求后發(fā)送至服務(wù)提供控制器,服務(wù)提供控制器將該網(wǎng)絡(luò)調(diào)用請(qǐng)求轉(zhuǎn)換成原來(lái)的服務(wù)地址信息并提供對(duì)應(yīng)的服務(wù),由此,基于網(wǎng)絡(luò)實(shí)現(xiàn)服務(wù)的調(diào)用。其中,服務(wù)提供控制器的功能包括將服務(wù)提供者提供的服務(wù)以網(wǎng)絡(luò)方式提供,使得服務(wù)調(diào)用控制器能夠通過(guò)網(wǎng)絡(luò)調(diào)用請(qǐng)求的方式實(shí)現(xiàn)對(duì)服務(wù)的調(diào)用,以及將網(wǎng)絡(luò)調(diào)用請(qǐng)求轉(zhuǎn)換成服務(wù)地址信息,并提供對(duì)應(yīng)的服務(wù);服務(wù)調(diào)用控制器的功能包括將服務(wù)地址信息轉(zhuǎn)換成網(wǎng)絡(luò)服務(wù)調(diào)用請(qǐng)求,其中需要說(shuō)明的是將服務(wù)地址信息轉(zhuǎn)換成網(wǎng)絡(luò)服務(wù)請(qǐng)求可以是將服務(wù)地址信息轉(zhuǎn)換成按照預(yù)先設(shè)定的網(wǎng)絡(luò)協(xié)議(如HTTP協(xié)議等)進(jìn)行傳輸?shù)母袷降恼{(diào)用請(qǐng)求,對(duì)應(yīng)的,將網(wǎng)絡(luò)調(diào)用請(qǐng)求轉(zhuǎn)換成服務(wù)地址信息也即將按照預(yù)先設(shè)定的網(wǎng)絡(luò)協(xié)議(如HTTP協(xié)議等)進(jìn)行傳輸?shù)母袷竭€原至原格式;而服務(wù)路由控制器使用的動(dòng)態(tài)負(fù)載均衡策略可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,如輪詢機(jī)制等。
本申請(qǐng)公開(kāi)的技術(shù)方案中,服務(wù)調(diào)用控制器為服務(wù)調(diào)用方發(fā)起對(duì)應(yīng)服務(wù)調(diào)用請(qǐng)求,服務(wù)路由控制器基于動(dòng)態(tài)負(fù)載均衡策略確定出提供服務(wù)的服務(wù)提供者的服務(wù)地址信息,服務(wù)調(diào)用控制器將該服務(wù)地址信息轉(zhuǎn)換成網(wǎng)絡(luò)調(diào)用請(qǐng)求發(fā)送至服務(wù)調(diào)用控制器,由服務(wù)調(diào)用控制器將網(wǎng)絡(luò)調(diào)用請(qǐng)求還原至服務(wù)地址信息后提供對(duì)應(yīng)服務(wù),從而實(shí)現(xiàn)基于網(wǎng)絡(luò)的服務(wù)調(diào)用,且服務(wù)路由控制器在確定與服務(wù)調(diào)用請(qǐng)求對(duì)應(yīng)的服務(wù)地址信息時(shí)是基于動(dòng)態(tài)負(fù)載均衡策略實(shí)現(xiàn)的,從而綜合實(shí)現(xiàn)了該微服務(wù)架構(gòu)的高可用性,滿足了云平臺(tái)服務(wù)的可擴(kuò)展、高可用的需求。
本發(fā)明實(shí)施例提供的一種微服務(wù)架構(gòu),還可以包括服務(wù)注冊(cè)控制器,服務(wù)注冊(cè)控制器用于獲取服務(wù)調(diào)用方的調(diào)用信息以及提供服務(wù)的服務(wù)提供方的提供信息并存儲(chǔ)。
當(dāng)服務(wù)提供控制器和服務(wù)調(diào)用控制器開(kāi)始啟動(dòng)后,自動(dòng)將其提供的和將要調(diào)用的服務(wù)的信息在服務(wù)注冊(cè)控制器上進(jìn)行注冊(cè),以使得服務(wù)注冊(cè)控制器能夠獲取對(duì)應(yīng)信息并存儲(chǔ),進(jìn)而實(shí)現(xiàn)后續(xù)的維護(hù)和管理。對(duì)應(yīng)的,本發(fā)明實(shí)施例中的服務(wù)路由控制器提供的服務(wù)地址信息可以與服務(wù)注冊(cè)控制器中注冊(cè)的對(duì)應(yīng)服務(wù)的調(diào)用信息相同。且服務(wù)注冊(cè)控制器中會(huì)存在服務(wù)提供者對(duì)應(yīng)的提供信息和服務(wù)調(diào)用者對(duì)應(yīng)的調(diào)用信息兩種類(lèi)型的服務(wù)列表,該服務(wù)列表中分別對(duì)應(yīng)維護(hù)著所注冊(cè)服務(wù)的API接口相關(guān)信息等,具體來(lái)說(shuō),提供信息可以包括注冊(cè)類(lèi)型(服務(wù)提供者)、服務(wù)API名稱(chēng)、服務(wù)提供者IP地址、端口、服務(wù)API全部方法名;調(diào)用信息包括注冊(cè)類(lèi)型(服務(wù)調(diào)用者)、服務(wù)API名稱(chēng)、服務(wù)調(diào)用者IP地址及服務(wù)API全部方法名。
本發(fā)明實(shí)施例提供的一種微服務(wù)架構(gòu),服務(wù)路由控制器可以包括存儲(chǔ)單元,存儲(chǔ)單元用于存儲(chǔ)全部服務(wù)調(diào)用者及服務(wù)提供者對(duì)應(yīng)的路由地址表,以供服務(wù)路由控制器基于該路由地址表確定出與服務(wù)調(diào)用請(qǐng)求對(duì)應(yīng)的服務(wù)地址信息。
服務(wù)路由控制器通過(guò)其存儲(chǔ)單元存儲(chǔ)并維護(hù)著服務(wù)調(diào)用者及服務(wù)提供者對(duì)應(yīng)的路由地址表,進(jìn)而當(dāng)需要確定與服務(wù)調(diào)用請(qǐng)求對(duì)應(yīng)的服務(wù)地址信息時(shí)可以由該表中確定出對(duì)應(yīng)服務(wù)的服務(wù)地址信息,簡(jiǎn)單來(lái)說(shuō),可以基于動(dòng)態(tài)負(fù)載均衡策略由路由地址表中選取出對(duì)應(yīng)服務(wù)提供者的路由地址,進(jìn)而在服務(wù)注冊(cè)控制器中獲取與該路由地址對(duì)應(yīng)的提供信息作為服務(wù)地址信息返回給服務(wù)調(diào)用控制器,從而基于該路由地址表實(shí)現(xiàn)服務(wù)的動(dòng)態(tài)負(fù)載均衡。
本發(fā)明實(shí)施例提供的一種微服務(wù)架構(gòu),還可以包括服務(wù)監(jiān)控控制器,服務(wù)監(jiān)控控制器用于實(shí)時(shí)監(jiān)測(cè)服務(wù)的狀態(tài),并在監(jiān)測(cè)到服務(wù)被注銷(xiāo)或不可用時(shí),對(duì)路由地址表中的對(duì)應(yīng)信息進(jìn)行更新。
服務(wù)監(jiān)控控制器實(shí)時(shí)監(jiān)測(cè)全部服務(wù)的狀態(tài),在監(jiān)測(cè)到服務(wù)被注銷(xiāo)或不可用時(shí),對(duì)路由地址表中的對(duì)應(yīng)信息進(jìn)行更新,主要包括將路由地址表中該被注銷(xiāo)或不可用服務(wù)處進(jìn)行對(duì)應(yīng)標(biāo)記,以使得服務(wù)路由控制器能夠確定該服務(wù)的狀態(tài),避免在該服務(wù)被注銷(xiāo)或不可用時(shí)將其服務(wù)地址信息提供給服務(wù)調(diào)用控制器,從而保證了服務(wù)調(diào)用控制器調(diào)用服務(wù)的有效性。
本發(fā)明實(shí)施例提供的一種微服務(wù)架構(gòu),服務(wù)提供者可以包括云管理平臺(tái)中的計(jì)算模塊及網(wǎng)絡(luò)模塊。
具體來(lái)說(shuō),計(jì)算模塊提供計(jì)算服務(wù),網(wǎng)絡(luò)模塊提供網(wǎng)絡(luò)服務(wù),而當(dāng)服務(wù)提供控制器對(duì)網(wǎng)絡(luò)模塊的服務(wù)進(jìn)行調(diào)用時(shí),網(wǎng)絡(luò)模塊及計(jì)算模塊會(huì)在執(zhí)行完對(duì)應(yīng)的服務(wù)后,將所得結(jié)果返給給服務(wù)調(diào)用方,方便其獲知服務(wù)提供情況。
對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。