SpringCloud網(wǎng)關(guān)Gateway架構(gòu)解析
網(wǎng)關(guān)是介于客戶端和服務(wù)器端之間的中間層,所有的外部請求都會(huì)先經(jīng)過 網(wǎng)關(guān)這一層。也就是說,API 的實(shí)現(xiàn)方面更多的考慮業(yè)務(wù)邏輯,而安全、性能、監(jiān)控可以交由 網(wǎng)關(guān)來做,這樣既提高業(yè)務(wù)靈活性又不缺安全性,典型的架構(gòu)圖如圖所示:
安全 ,只有網(wǎng)關(guān)系統(tǒng)對外進(jìn)行暴露,微服務(wù)可以隱藏在內(nèi)網(wǎng),通過防火墻保護(hù)。
易于監(jiān)控??梢栽诰W(wǎng)關(guān)收集監(jiān)控?cái)?shù)據(jù)并將其推送到外部系統(tǒng)進(jìn)行分析。
易于認(rèn)證??梢栽诰W(wǎng)關(guān)上進(jìn)行認(rèn)證,然后再將請求轉(zhuǎn)發(fā)到后端的微服務(wù),而無須在每個(gè)微服務(wù)中進(jìn)行認(rèn)證。
減少了客戶端與各個(gè)微服務(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決執(zhí)行maven命令時(shí)提示Process terminated的問題
這篇文章主要介紹了解決執(zhí)行maven命令時(shí)提示Process terminated的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Spring @Profile注解實(shí)現(xiàn)多環(huán)境配置
這篇文章主要介紹了Spring @Profile注解實(shí)現(xiàn)多環(huán)境配置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Spring MVC多種情況下進(jìn)行文件上傳的實(shí)例
上傳是Web工程中很常見的功能,SpringMVC框架簡化了文件上傳的代碼,本文給大家總結(jié)了Spring MVC多種情況下進(jìn)行文件上傳的實(shí)例,并通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02