SpringCloud API服務閘道器Zuul

2021-08-28 04:07:12 字數 2086 閱讀 9454

springcloud微服務就是把乙個大的專案拆分成多個小的模組,然後模組之間通過遠端呼叫、服務治理的技術互相配合工作,隨著業務的增加,專案也將會越來越龐大,介面數量也隨之增加,對外提供服務的介面也會增加,運維人員對於這些介面的管理也會變得越來越難。另一方面對於乙個系統來說,許可權管理也是乙個不可少的模組,在微服務架構中,系統被拆分,不可能每個模組都去新增乙個個許可權管理,這樣系統**重複、工作量大、後期維護也難。為了解決這些常見的架構問題,api閘道器應運而生。springcloudzuul是基於netflix zuul實現的api閘道器元件,它實現了請求路由、負載均衡、校驗過濾、與服務治理框架的結合、請求**是的熔斷機制和服務的聚合等功能。

新建乙個springboot專案,命名為api-gateway。新增如下依賴。

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

org.springframework.cloud

spring-cloud-starter-netflix-zuul

在主類上使用@enablezuulproxy註解開啟api閘道器服務功能

@enablezuulproxy

public static void main(string args) }

配置檔案

#這裡的配置是指,訪問/myzuul/**,請求會**到名稱為zuul-client這個微服務,也可以這樣zuul.routes.zuul-client=/myzuul/**

zuul.routes.myzuul.path=/myzuul/**

zuul.routes.myzuul.service-id=zuul-client

#設定不過濾cookies

zuul.routes.myzuul.sensitive-headers=

#排除某些路由,這樣就可以禁止某些介面通過閘道器訪問。如果是.yml,- /myzuul/index2

zuul.ignored-patterns=/myzuul/index2新建乙個springboot專案,命名為zuul-client。新增如下依賴

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

啟動類

@enablediscoveryclient

public static void main(string args) }

配置檔案

server.port=8081

#指定服務註冊中心的位址,這樣才能將我們的應用註冊到服務註冊中心

eureka.client.serviceurl.defaultzone: http://localhost:8080/eureka/

新建乙個controller,裡面寫兩個介面

@restcontroller

public class controller

public string index2()

}

啟動api-gateway和zuul-client將這兩個服務註冊到eureka。

我們在zuul-client寫了兩個介面,以/index1為例:

有了服務閘道器之後,我們可以通過以下方式來訪問/index

(2)通過服務閘道器來訪問:http://localhost:8082/zuul-client/index1

zuul.routes.myzuul.path=/myzuul/**

zuul.routes.myzuul.service-id=zuul-client

因此我們可以這樣來訪問:http://localhost:8082/myzuul/index1

spring cloud ribbon呼叫服務

目錄4 測試 ribbon主要負責負載均衡呼叫,是基於netflix ribbon實現的一套客戶端。主要功能是提供客戶端的軟體負載均衡演算法和服務呼叫。ribbon會自動的幫助你基於某種規則去連這些機器。簡單來說 ribbon 負載均衡 resttemplate nginx是伺服器負載均衡,集中式負...

git正式服與測試服鉤子自動更新

伺服器 centos7.4 阿里雲 使用寶塔控制面板,使用gitlab實現git專案 git伺服器要大於4g。否則會卡 也可以使用碼雲,git等。實現內容 分支,新建乙個test分支。test提交,測試服更新。master更新,正式服更新。目錄許可權 正式服與測試服都給www許可權,否則會提示無更新...

目標 普及TD服

昨天晚上來到加勒比的時候還什麼都不清楚,不知道刷什麼才會出td圖。經過昨天晚上,今天下午,今天晚上不斷的摸索,我和我朋友兩人的成果是 td圖兩張,劍精髓兩本。下面分享下刷這圖的方法。來之前在網上找了找資料,都寫的不是很清楚。我們是在聖胡安北部海域刷的。聖胡安周圍到處 1戰列艦3軍蓋 的 西班牙艦隊 ...