Spring Cloud Gateway 服务网关
10多年的冀州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整冀州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“冀州网站设计”,“冀州网站推广”以来,每个客户项目都认真落实执行。
API 主流网关有NGINX、ZUUL、Spring Cloud Gateway、Linkerd等;Spring Cloud Gateway构建于 Spring 5+,基于 Spring Boot 2.x 响应式的、非阻塞式的 API。同时,它支持 websockets,和 Spring 框架紧密集成,用来代替服务网关Zuul,开发体验相对来说十分不错。
Spring Cloud Gateway 是 Spring Cloud 微服务平台的一个子项目,属于 Spring 开源社区,依赖名叫:spring-cloud-starter-gateway。
Zuul 是 Netflix 公司的开源项目,Spring Cloud 在 Netflix 项目中也已经集成了 Zuul,依赖名叫:spring-cloud-starter-netflix-zuul。
API 网关
API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题:
以上这些问题可以借助 API 网关解决。API 网关是介于客户端和服务器端之间的中间层,所有的外部请求都会先经过 API 网关这一层。也就是说,API 的实现方面更多的考虑业务逻辑,而安全、性能、监控可以交由 API 网关来做,这样既提高业务灵活性又不缺安全性。
使用 API 网关后的优点如下:
Spring Cloud Gateway的特征
快速上手
Spring Cloud Gateway 示例源码
Spring Cloud Gateway 网关路由有两种配置方式:
在配置文件 yml 中配置
通过@Bean自定义 RouteLocator,在启动主类 Application 中配置
这两种方式是等价的,建议使用 yml 方式进配置。
1.pom.xml Maven依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.7.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Greenwich.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!--Spring Cloud Gateway 是使用 netty+webflux 实现因此不需要再引入 web 模块--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
2.application.yml配置
server: port: 8080 spring: cloud: gateway: routes: - id: easy_route # 我们自定义的路由 ID,保持唯一 uri: https://github.com # 目标服务地址 predicates: # 路由条件,Predicate 接受一个输入参数,返回一个布尔值结果。该接口包含多种默认方法来将 - Path=/smltq/spring-boot-demo
上面这段配置的意思是,配置了一个 id 为 easy_route 的路由规则,当访问地址 http://localhost:8080/smltq/spring-boot-demo时会自动转发到地址:https://github.com/smltq/spring-boot-demo 。
3.配置完成启动项目
在浏览器访问进行测试,当我们访问 http://localhost:8080/smltq/spring-boot-demo 时会展示如下页面:
资料
Spring Cloud Gateway 示例源码
更多路由分发功能参考官网
Spring Boot、Spring Cloud示例学习
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
新闻名称:SpringCloudGateway服务网关快速实现解析
分享路径:https://www.cdcxhl.com/article8/ghpeip.html
成都网站建设公司_创新互联,为您提供用户体验、定制网站、外贸建站、微信公众号、企业网站制作、网站设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联