對(duì)于大多數(shù)基于微服務(wù)的應(yīng)用程序而言皆疹,API網(wǎng)關(guān)都應(yīng)該是系統(tǒng)的入口琳猫,它會(huì)負(fù)責(zé)服務(wù)請(qǐng)求路由、組合及協(xié)議轉(zhuǎn)換勃教。
在微服務(wù)的應(yīng)用程序中淤击,客戶端和微服務(wù)之間的交互,有如下幾個(gè)挑戰(zhàn):
1.微服務(wù)提供的API粒度通常與客戶端的需求不同故源,微服務(wù)一般提供細(xì)粒度的API污抬,也就是說(shuō)客戶端需要與多個(gè)服務(wù)進(jìn)行交互。
2.不同的客戶端需要不同的數(shù)據(jù)绳军,不同類型客戶端的網(wǎng)絡(luò)性能不同印机。
3.服務(wù)的劃分可能會(huì)隨時(shí)間而變化,因此需要對(duì)客戶端隱藏細(xì)節(jié)门驾。
作用:
它們除了保證數(shù)據(jù)的交換之外射赛,還需要實(shí)現(xiàn)對(duì)接入客戶端的身份認(rèn)證、防報(bào)文重放與防數(shù)據(jù)篡改奶是、功能調(diào)用的業(yè)務(wù)鑒權(quán)楣责、響應(yīng)數(shù)據(jù)的脫敏竣灌、流量與并發(fā)控制,甚至基于API調(diào)用的計(jì)量或者計(jì)費(fèi)秆麸。