SpringCloud網(wǎng)關(guān)Gateway架構(gòu)解析
網(wǎng)關(guān)是介于客戶端和服務(wù)器端之間的中間層,所有的外部請求都會先經(jīng)過 網(wǎng)關(guān)這一層。也就是說,API 的實現(xiàn)方面更多的考慮業(yè)務(wù)邏輯,而安全、性能、監(jiān)控可以交由 網(wǎng)關(guān)來做,這樣既提高業(yè)務(wù)靈活性又不缺安全性,典型的架構(gòu)圖如圖所示:

安全 ,只有網(wǎng)關(guān)系統(tǒng)對外進行暴露,微服務(wù)可以隱藏在內(nèi)網(wǎng),通過防火墻保護。
易于監(jiān)控??梢栽诰W(wǎng)關(guān)收集監(jiān)控數(shù)據(jù)并將其推送到外部系統(tǒng)進行分析。
易于認證??梢栽诰W(wǎng)關(guān)上進行認證,然后再將請求轉(zhuǎn)發(fā)到后端的微服務(wù),而無須在每個微服務(wù)中進行認證。
減少了客戶端與各個微服務(wù)之間的交互次數(shù)
易于統(tǒng)一鑒權(quán)。
Application注解如下:
@EnableZuulProxy
@SpringCloudApplication
public class ZuulGatewayApplication {
public static void main(String[] args) {
SpringApplication.run(ZuulGatewayApplication.class,args);
}
}
yaml配置文件如下:
server: port: 9000 spring: application: name: ad-gateway eureka: client: service-url: defaultZone: http://server1:8000/eureka/ # 網(wǎng)關(guān)配置 zuul: prefix: /zmn # 統(tǒng)一前綴 routes: # 路由 path: /ad-sponsor/** # 前綴 serviceId: eureka-client-ad-sponsor # 轉(zhuǎn)發(fā)的微服務(wù)名字 strip-prefix: false # 不跳過前綴 /ad-sponsor
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot+MyBatis-Plus實現(xiàn)數(shù)據(jù)庫讀寫分離的代碼示例
在當今互聯(lián)網(wǎng)應(yīng)用中,數(shù)據(jù)庫讀寫分離是提高系統(tǒng)性能和穩(wěn)定性的重要手段之一,通過將讀操作和寫操作分別路由到不同的數(shù)據(jù)庫節(jié)點,可以有效減輕數(shù)據(jù)庫服務(wù)器的負擔,本文將介紹如何利用SpringBoot和MyBatis-Plus框架實現(xiàn)數(shù)據(jù)庫讀寫分離,需要的朋友可以參考下2023-11-11
一文詳解SpringBoot如何優(yōu)雅地實現(xiàn)異步調(diào)用
SpringBoot想必大家都用過,但是大家平時使用發(fā)布的接口大都是同步的,那么你知道如何優(yōu)雅的實現(xiàn)異步呢?這篇文章就來和大家詳細聊聊2023-03-03

