namespace: 用於區分環境, 例如 開發環境, 測試環境, 生產環境
group: 用於區分項目, 例如xuecheng-plus項目, xuecheng2.0項目
關於網關的存在,是為了解決目前遇到的問題
解決綁定絕對路徑綁死同一機台問題
如上圖為絕對路徑,在微服務架構下, 可能一個服務有多台(多實例),他服務對接並不適合綁定某一機台,應讓不同的實例都能處理此請求才是
在前端代碼的一個固定的地方在接口地址前統一加網關的地址,每個請求統一到網關,由網關將請求轉發到具體的微服務。
有了網關就可以對請求進行路由,路由到具體的微服務,減少外界對接微服務的成本,比如:400電話,路由的試可以根據請求路徑進行路由、根據host地址進行路由等, 當微服務有多個實例時可以通過負載均衡算法進行路由
同時,這個結構也解決前端需要寫死API-URL的問題, 由網關來解決對應URL問題即可
1、微服務啟動,將自己注冊到Nacos,Nacos記錄了各微服務實例的地址。
2、網關從Nacos讀取服務列表,包括服務名稱、服務地址等。
3、請求到達網關,網關將請求路由到具體的微服務。
沒有留言:
張貼留言