<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
上一篇:微服務閘道器Zuul
上文中,我們介紹了微服務閘道器Zuul,Zuul 是 Netflix 公司開源的產品,被稱為第一代閘道器,也是 Spring Cloud 前幾個版本預設使用的一款提供動態路由微服務閘道器元件,但是隨著 Netflix 公司一系列的停更事件,在最新的 Spring Cloud Greenwich 版本中已經不建議採用 Zuul 技術,官方建議使用 Spring Cloud Gateway 作為預設的閘道器技術。 Spring Cloud Gateway作為第二代閘道器技術,比Zull更強,官方會一直維護更新下去。
所以本文需要再介紹一下Gateway。
Spring Cloud Gateway 是 Spring 體系內的一個全新專案,該專案是基於 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技術開發,它旨在為微服務架構提供一種簡單有效的統一的 API 路由管理方式。
Spring Cloud Gateway 作為 Spring Cloud 生態系統中的閘道器,目標是替代 Netflix Zuul,其不僅提供統一的路由方式,並且基於 Filter 鏈的方式提供了閘道器基本的功能,例如:安全、監控/指標和限流。
org.springframework.cloud.gateway.filter.GatewayFilter
的範例,我們可以使用它修改請求和響應。上文中,我們啟動了註冊中心registry,dms服務,和app服務,以及zuul服務,本文我們將建立gateway服務以替換zuul:
建立子模組gateway ,pom.xml引入eureka-client 和gateway 的依賴
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
@EnableEurekaClient @SpringBootApplication public class GateWayApplication { public static void main(String[] args) { SpringApplication.run(GateWayApplication.class, args); } }
啟動類上增加@EnableEurekaClient以及@SpringBootApplication註解。
新增組態檔application.yml
server:
port: 8004
spring:
application:
name: gateway
cloud:
gateway:
discovery:
locator:
enabled: true
lower-case-service-id: true
routes:
- id: eureka-client-app-1
uri: lb://app
predicates:
- Path=/**
eureka:
client:
service-url:
defaultZone: http://localhost:8001/eureka/
spring.cloud.gateway.routes路由引數設定說明:
上面路由規則我們也可以使用程式設計方式來實現,在啟動類中增加如下程式碼,是等效的:
@Configuration public class GatewayConfig { @Bean public RouteLocator customRouteLocator(RouteLocatorBuilder builder) { RouteLocatorBuilder.Builder routes = builder.routes(); routes.route("eureka-client-app-1",r -> r.path("/**") .uri("lb://app")) .build(); return routes.build(); } }
存取Gateway服務的地址:http://localhost:8004/app/index,效果如下:
本文介紹瞭如何使用 Spring Cloud Gateway。Gateway 的特性以及兩種實現方式:一種是通過組態檔的方式來實現,一種是通過編碼的方式來實現,推薦使用組態檔的方式來使用,便於後期修改維護。
到此這篇關於SpringCloud超詳細講解微服務閘道器Gateway的文章就介紹到這了,更多相關SpringCloud Gateway內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45