spring cloud之zull閘道器

2021-10-25 02:43:20 字數 2248 閱讀 1920

在微服務中,我們所有的服務都是訪問自己的ip或者微服務名稱這樣大大提高了**複雜程度,同時也將我們所有的微服務暴露給了使用者,這樣是不好滴,這個時候我們想要統一ip進行訪問所有的微服務,那麼zull閘道器就幫我們做到了這一點,zull閘道器大家可以了解為類似於nginx反向**會比較好理解吧。下面直接來使用zull吧:

首先我們想要在pom中匯入zull:

>

>org.springframework.cloud>

>spring-cloud-starter-netflix-zuul>

>

第二部配置yml:

zuul

:host

:connect-timeout-millis

:60000

socket-timeout-millis

:60000

sensitive-headers

: access-control-allow-origin

ignored-headers

routes

:auth

:#認證服務

#響應的路徑

path

: /test/**

#敏感頭資訊

sensitiveheaders

:#重定向到的服務(根據服務id名稱從註冊中心獲取服務位址)

serviceid

: service-test

#新增**頭

add-proxy-headers

:true

可以看到routes中的配置我們的響應路徑是test,那麼我們會重定向到service-test,這裡注意這個重定向服務一定是你的註冊中心裡面有的服務,這個時候你就訪問試試了,訪問路徑一般是

ip:埠/test/對於ip:埠/service-test再到該專案路徑下的方法就可以啦,

第三步新增註解到啟動類:

;zull 4種過濾器:

pre:可以在請求被路由之前呼叫

route:在路由請求時候被呼叫

post:在route和error過濾器之後被呼叫

error:處理請求時發生錯誤時被呼叫

那麼我們怎麼使用這些過濾器,我們只需要建立乙個類繼承zuulfilter:

filtertype:使用那種過濾器:pre,rote,post,error

filterorder:過濾器的執行順序,字越大表示優先順序越低,越後執行

shouldfilter:過濾器是否會被執行,

run:主要編寫過濾邏輯,這邊可以在過濾邏輯中配置自己的白名單,requestcontext.setsendzuulresponse(false):跳出過濾器,不在執行

requestcontext.setresponsestatuscode(500); 返回狀態碼

requestcontext.setresponsebody(「你已被攔截」); 返回訊息主體

SpringCloud之Dashboard 流監控

新建springcloud consumer hystrix dashboard模組 新增依賴 org.springframework.cloudgroupid spring cloud starter hystrixartifactid 1.4.6.releaseversion dependenc...

SpringCloud之Hystrix應用實踐

使用springcloud的hystrix功能,有幾種方式 1 單應用監聽,也可以用於測試 引用包 org.springframework.boot spring boot starter actuator org.springframework.cloud spring cloud starter...

SpringCloud學習之eureka集群配置

如果是單節點的註冊中心,是無法保證系統穩定性的,當然現在專案部署架構不可能是單節點的。集群節點的部署思路 通過執行多個例項並請求他們相互註冊,來完成註冊中心的高可用性 結伴註冊 注意 用於本機模擬的前期準備工作 將電腦上hosts 新增如下配置 linux下位置 etc hosts 127.0.0....