在微服務中,我們所有的服務都是訪問自己的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....