本公開涉及管理api網(wǎng)關(guān),更具體地涉及利用微服務(wù)容器在多租戶api網(wǎng)關(guān)中提供租戶隔離。
背景技術(shù):
1、應(yīng)用編程接口(api)網(wǎng)關(guān)是一種完全受管理的服務(wù),其允許開發(fā)人員創(chuàng)建、發(fā)布、維護(hù)、監(jiān)視和保護(hù)用于公眾使用的api。租戶可以定義api并將其發(fā)布到這些公共api網(wǎng)關(guān),諸如云平臺,然后可以將其提供給客戶端設(shè)備使用。在大規(guī)模api網(wǎng)關(guān)中,環(huán)境可以包括多租戶環(huán)境,其中多個不同的租戶托管可使得通過同一托管服務(wù)可用的api。
技術(shù)實現(xiàn)思路
1、在一些實施例中,一種使用容器隔離租戶以在多租戶環(huán)境中服務(wù)請求的方法可以包括:接收對由第一租戶提供的第一服務(wù)的第一請求;在多租戶環(huán)境中選擇空容器;將實現(xiàn)第一服務(wù)的第一配置加載到容器中;從容器服務(wù)第一請求;接收對由第二租戶提供的第二服務(wù)的第二請求;從容器中沖洗第一配置;以及從容器服務(wù)第二請求。
2、在一些實施例中,一種非暫態(tài)計算機(jī)可讀介質(zhì)包括指令,該指令在由一個或多個處理器執(zhí)行時,使一個或多個處理器執(zhí)行操作,包括:接收對由第一租戶提供的第一服務(wù)的第一請求;在多租戶環(huán)境中選擇空容器;將實現(xiàn)第一服務(wù)的第一配置加載到容器中;從容器服務(wù)第一請求;接收對由第二租戶提供的第二服務(wù)的第二請求;從容器中沖洗第一配置;以及從容器服務(wù)第二請求。
3、在一些實施例中,一種系統(tǒng)可以包括一個或多個處理器和一個或多個存儲器設(shè)備,該存儲器設(shè)備包括指令,該指令在由一個或多個處理器執(zhí)行時,使一個或多個處理器執(zhí)行操作,包括:接收對由第一租戶提供的第一服務(wù)的第一請求;在多租戶環(huán)境中選擇空容器;將實現(xiàn)第一服務(wù)的第一配置加載到容器中;從容器服務(wù)第一請求;接收對由第二租戶提供的第二服務(wù)的第二請求;從容器中沖洗第一配置;以及從容器服務(wù)第二請求。
4、在任何實施例中,以下特征中的任何一個或全部可以以任何組合被包括并且沒有限制。容器可以是多租戶環(huán)境中的多個容器之一,該多個容器被實例化以服務(wù)來自客戶端設(shè)備的請求。第一配置可以包括第一服務(wù)可以使用的存儲器中的堆的大小。在從容器中沖洗第一配置之后,容器可以包括帶有嵌入式服務(wù)器和內(nèi)部端點(endpoint)的運行時進(jìn)程。內(nèi)部端點可以由多租戶環(huán)境中的路由器調(diào)用,以服務(wù)第二請求。第一配置可以包括被鏈接在一起以服務(wù)請求的多個動作。多租戶環(huán)境可以阻止容器同時服務(wù)與不同租戶相關(guān)聯(lián)的請求。多租戶環(huán)境可以允許容器同時服務(wù)與單個租戶相關(guān)聯(lián)的請求。該方法/操作還可以包括:接收對由第二租戶提供的第二服務(wù)的第三請求;以及從容器服務(wù)第三請求,而無需從容器中沖洗第二配置。第一服務(wù)可以包括使得通過多租戶環(huán)境可用的公共api。
1.一種在多租戶環(huán)境中管理容器的運行時狀態(tài)和服務(wù)配置的方法,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其中所述配置由所述多租戶環(huán)境的租戶在運行時之前提供。
3.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)存儲庫包括鍵-值數(shù)據(jù)存儲庫。
4.根據(jù)權(quán)利要求3所述的方法,其中所述鍵-值數(shù)據(jù)存儲庫包括分布式鍵-值數(shù)據(jù)存儲庫。
5.如權(quán)利要求3所述的方法,其中與所述服務(wù)相關(guān)聯(lián)的租戶的身份包括所述鍵-值數(shù)據(jù)存儲庫中的鍵,并且其中所述配置和運行時狀態(tài)包括所述鍵-值數(shù)據(jù)存儲庫中的值。
6.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)存儲庫還存儲在所述多租戶環(huán)境中可用的容器的注冊表。
7.如權(quán)利要求6所述的方法,其中當(dāng)新容器在所述多租戶環(huán)境中變得可用時,基于所述容器的注冊表,所述數(shù)據(jù)存儲庫更新所述多租戶環(huán)境中的一個或多個路由器。
8.根據(jù)權(quán)利要求1所述的方法,還包括:
9.一種包括指令的非暫時性計算機(jī)可讀介質(zhì),所述指令在由一個或多個處理器執(zhí)行時使所述一個或多個處理器執(zhí)行操作,所述操作包括:
10.根據(jù)權(quán)利要求9所述的非暫時性計算機(jī)可讀介質(zhì),其中,所述操作還包括:
11.根據(jù)權(quán)利要求10所述的非暫時性計算機(jī)可讀介質(zhì),其中在沖洗所述一個或多個容器的所述內(nèi)容之后,在被重新分配給所述第二租戶之前,所述一個或多個容器在第一時間間隔內(nèi)不被分配給任何租戶。
12.根據(jù)權(quán)利要求10所述的非暫時性計算機(jī)可讀介質(zhì),其中,所述操作還包括:
13.根據(jù)權(quán)利要求10所述的非暫時性計算機(jī)可讀介質(zhì),其中,所述操作還包括:
14.根據(jù)權(quán)利要求13所述的非暫時性計算機(jī)可讀介質(zhì),其中,所述操作還包括:
15.根據(jù)權(quán)利要求13所述的非暫時性計算機(jī)可讀介質(zhì),其中,所述操作還包括:
16.如權(quán)利要求10所述的非暫態(tài)計算機(jī)可讀介質(zhì),其中所述多租戶環(huán)境的網(wǎng)關(guān)將所述一個或多個容器重新分配給所述多租戶環(huán)境中的所述第二租戶。
17.一種系統(tǒng),包括:
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述操作還包括:
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述容器是所述多租戶環(huán)境中的多個容器中的一個,所述多個容器被實例化以服務(wù)來自客戶端設(shè)備的請求。
20.根據(jù)權(quán)利要求18所述的系統(tǒng),其中所述第一配置包括所述第一服務(wù)能夠使用的存儲器中的堆的大小。