SpringCloud入門03---微服務-服務網關的基本使用

服務網關是微服務架構中一個不可或缺的部分。通過服務網關統一向外系統提供REST API的過程中,除了具備服務路由、均衡負載功能之外,它還具備了權限控制等功能。Spring Cloud Netflix中的Zuul就擔任了這樣的一個角色,爲微服務架構提供了前門保護的作用,同時將權限控制這些較重的非業務邏輯內容遷移到服務路由層面,使得服務集羣主體能夠具備更高的可複用性和可測試性
下面我們來介紹服務網關的基本使用

1.創建項目並導入相關依賴
在這裏插入圖片描述
2.在啓動類中添加註解
在這裏插入圖片描述
3.配置application.properties文件
在這裏插入圖片描述
配置文件中的“提供者配置”是我自己項目的配置可以根據自己的項目進行配置

#配置端口號
server.port=9091

#配置服務名稱
spring.application.name=spring-cloud-Zuul
#將此服務配置到eureka中
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/


#配置提供者
#配置城市提供者
zuul.routes.city.path=/zuulCity/**
#"spring-cloud-city"是此提供者在eureka中的名字
zuul.routes.city.serviceId=spring-cloud-city

#配置天氣信息提供者
zuul.routes.myapi.path=/zuulMyapi/**
#"spring-cloud-Controller"是此提供者在eureka中的名字
zuul.routes.myapi.serviceId=spring-cloud-Controller

4.訪問路徑
配置完後,我們就可以通過網關訪問各個提供者:比如說我們訪問上圖中的城市提供者url由兩部分組成:第一部分網關路徑 :localhost:9091/zuulCity第二部分:提供者路徑再寫提供者路徑時把端口號之前的地址刪掉(也包括端口號)拼接到網關路徑後面就OK
例1:
網關路徑:localhost:9091/zuulCity
提供者路徑:localhost:8086/city/findAll
那麼訪問路徑就是:localhost:9091/zuulCity/city/findAll
5.消費者
我們既然使用了網關,那麼消費者再消費提供者時就無需直接訪問某個消費者,直接訪問網關地址即可。
SpringCloud入門02—微服務-提供者與消費者中已經介紹了消費者基本配置,我們要使用網關進行訪問就需要將SpringCloud入門02—微服務-提供者與消費者中的“1.4編寫Service代碼”改爲如下
此代碼還是以上面例1所提供訪問路徑爲例

@FeignClient("spring-cloud-Zuul")//此值要與eureka中的名稱對應
public interface Test {
    @GetMapping("/zuulCity/city/findAll")//此路徑也要與要訪問的接口相對應
    String test();
}

然後直接調用test方法就能訪問localhost:9091/zuulCity/city/findAll地址了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章