Zuul 實現(xiàn)網(wǎng)關(guān)轉(zhuǎn)發(fā)的五種方式小結(jié)
上圖為一個微服務(wù)框架的簡單示例,當有一個HTTP請求發(fā)送到服務(wù)器的時候,其實是先經(jīng)過了Nginx的,再經(jīng)過了網(wǎng)關(guān),這里的網(wǎng)關(guān)就擔任了攔截過濾的作用,既然攔截和過濾了,肯定就涉及到了請求的轉(zhuǎn)發(fā)
轉(zhuǎn)發(fā)我大致例了以下五種轉(zhuǎn)發(fā)方式:
方式一:path+serviceId 方式
在spring_cloud的配置文件application.yml 文件中加入以下配置:
server: port: 8888 #服務(wù)端口 spring: application: name: app-zuul-gateway #指定服務(wù)名 eureka: client: service-url: defaultZone: http://127.0.0.1:8100/eureka/ #注冊到eureka中的地址 register-with-eureka: true fetch-registry: true instance: prefer-ip-address: true #將自己的ip地址注冊到Eureka服務(wù)中 ip-address: 127.0.0.1 #ip地址 zuul: # 方式一:path+serviceId routes: #定義服務(wù)轉(zhuǎn)發(fā)規(guī)則 abcs: #abcs這個名字任意取的 path: /order/** #配置請求URL的請求規(guī)則 serviceid: app-order #eureka中服務(wù)的id
跳轉(zhuǎn)示例 :
http://localhost:8888/order/order2/201810300001
http://localhost:8888/order就相當于指定了eureka中id為app-order的微服務(wù),后面在接上他本身的參數(shù),就可以正常使用了
方式二:指定服務(wù)id 方式
zuul: routes: #定義服務(wù)轉(zhuǎn)發(fā)規(guī)則 app-order: /order/**
跳轉(zhuǎn)示例 :
http://localhost:8888/order/order2/201810300001
和方法一一樣,http://localhost:8888/order就相當于指定了eureka中id為app-order的微服務(wù),后面在接上他本身的參數(shù),就可以正常使用了
方式三:同時配置path和url 方式
zuul: routes: #定義服務(wù)轉(zhuǎn)發(fā)規(guī)則 abcs: path: /order/** url: http://127.0.0.1:8091 #真正的微服務(wù)地址,path匹配的請求都轉(zhuǎn)發(fā)到這里
跳轉(zhuǎn)示例 :
http://localhost:8888/order/order2/201810300001
上面的和方法一樣,http://localhost:8888/order就相當于指定了eureka中id為app-order的微服務(wù),后面在接上他本身的參數(shù),就可以正常使用了
方式四:路由前綴 方式
zuul: prefix: /order2 strip-prefix: false routes: app-order: /order/**
跳轉(zhuǎn)示例 :
http://localhost:8888/order2/app-order/201810300001
訪問Zuul的/order2/app-order/201810300001路徑,請求將會被轉(zhuǎn)發(fā)到app-order 的order2/201810300001
方式五:路由前綴2 方式
zuul: routes: app-order: path: /order2/** strip-prefix: false
跳轉(zhuǎn)示例 :
http://localhost:8888/order2/201810300001
訪問Zuul的/order2/201810300001路徑,請求將會被轉(zhuǎn)發(fā)到app-order 的order2/201810300001
今天的分享就到此結(jié)束啦,以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- SpringCloud zuul 網(wǎng)關(guān)如何解決跨域問題
- 解決zuulGateway網(wǎng)關(guān)添加路由異常熔斷問題
- Spring Cloud Zuul路由網(wǎng)關(guān)服務(wù)過濾實現(xiàn)代碼
- SpringCloud Zuul網(wǎng)關(guān)功能實現(xiàn)解析
- SpringCLoud搭建Zuul網(wǎng)關(guān)集群過程解析
- SpringCloud網(wǎng)關(guān)組件zuul實例解析
- springcloud教程之zuul路由網(wǎng)關(guān)的實現(xiàn)
- Spring Cloud基于zuul實現(xiàn)網(wǎng)關(guān)過程解析
相關(guān)文章
Spring整合mybatis、springMVC總結(jié)
這篇文章主要為大家詳細介紹了Java整合Mybatis,SpringMVC,文中有詳細的代碼示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2023-05-05win10系統(tǒng)64位jdk1.8的下載與安裝教程圖解
這篇文章主要介紹了win10系統(tǒng)64位jdk1.8的下載與安裝教程圖解,本文給大家介紹的非常詳細,對大家的工作或?qū)W習具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03