apisix網(wǎng)關(guān) 微服務(wù)架構(gòu)為何需要搭配API網(wǎng)關(guān)?
微服務(wù)架構(gòu)為何需要搭配API網(wǎng)關(guān)?微服務(wù)架構(gòu)可以理解為一種架構(gòu)風(fēng)格。大型復(fù)雜軟件應(yīng)用程序由一個或多個微服務(wù)組成。系統(tǒng)中的每個微服務(wù)都可以獨立部署,每個微服務(wù)是松散耦合的。每個微服務(wù)只專注于完成一個任務(wù)
微服務(wù)架構(gòu)為何需要搭配API網(wǎng)關(guān)?
微服務(wù)架構(gòu)可以理解為一種架構(gòu)風(fēng)格。大型復(fù)雜軟件應(yīng)用程序由一個或多個微服務(wù)組成。系統(tǒng)中的每個微服務(wù)都可以獨立部署,每個微服務(wù)是松散耦合的。每個微服務(wù)只專注于完成一個任務(wù),并很好地完成它。在所有情況下,每個任務(wù)都代表一種小型業(yè)務(wù)能力。API網(wǎng)關(guān)負(fù)責(zé)提供一個統(tǒng)一的API入口點,該入口點跨越一個或多個內(nèi)部API。它通常還設(shè)置層速率限制和安全機(jī)制。
API網(wǎng)關(guān)可以進(jìn)行協(xié)議適配、安全驗證等,減少了微服務(wù)開發(fā)的外部適配,更貼近實際核心業(yè)務(wù)開發(fā)。
外部接口如何統(tǒng)一api地址?
一個非常好的問題。您可以嘗試以下方法:
當(dāng)nginx配置路由和轉(zhuǎn)發(fā)時,重新拼接路徑和參數(shù)。
1)路徑包含參數(shù),如URL/{name},在java開發(fā)過程中@pathvariable可以讀取這些參數(shù)
2)請求體參數(shù)包含路由信息,可以解析這些信息來實現(xiàn)判斷邏輯