点击关注公众号,Java干货及时送达

Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,取代Zuul网关。网关作为流量的,在微服务系统中有着非常作用,网关常见的功能有路由转发、权限校验、限流控制等作用。

在上一节的案例中,我们讲述了如何使用nacos作为服务注册中心和配置中心,使用feign和sc loadbalancer作为服务调用。本小节将讲述如何使用spring cloud gateway作为服务网关。

工程构建

新建一个gateway的工程,工程目录如下:

gateway需要注册到nacos中去,需要引入以下的依赖:

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>

在配置文件application.pom文件:

server:port: 5000spring:application:name: gatewaycloud:nacos:discovery:server-addr: 127.0.0.1:8848gateway:discovery:locator:enabled: falselowerCaseServiceId: trueroutes:- id: provideruri: lb://providerpredicates:- Path=/provider/**filters:- StripPrefix=1- id: consumeruri: lb://consumerpredicates:- Path=/consumer/**filters:- StripPrefix=1

配置的解释请阅读文末的相关教程,在这里不再重复。

在工程的启动文件加上相关注解:

 @SpringBootApplication
@EnableDiscoveryClient
public class GatewayApplication {public static void main(String[] args) {SpringApplication.run(GatewayApplication.class, args);}}

依次启动gateway\consumer\provider三个工程,在nacos中已经成功注册:

在浏览器上输入http://localhost:5000/consumer/hi-feign,浏览器返回响应:

hello feign, i'm provider ,my port:8762

gateway还有其他很多强大的功能在这里就不再讲述。

相关教程

  • Spring Cloud Gateway 初体验:https://www.fangzhipeng.com/springcloud/2018/11/06/sc-f-gateway1.html

  • Spring Cloud Gateway 之Predict篇:https://www.fangzhipeng.com/springcloud/2018/12/05/sc-f-gateway2.html

  • spring cloud gateway之filter篇:https://www.fangzhipeng.com/springcloud/2018/12/21/sc-f-gatway3.html

  • spring cloud gateway 之限流篇:https://www.fangzhipeng.com/springcloud/2018/12/22/sc-f-gatway4.html

  • spring cloud gateway之服务注册与发现:https://www.fangzhipeng.com/springcloud/2018/12/23/sc-f-gateway5.html

源码下载

https://github.com/forezp/SpringCloudLearning/tree/master/sc-2020-chapter2

热门内容:服务端如何防止订单重复支付!
拜托!不要用“ ! = null " 做判空了
道友自诉:入职中软一个月(外包华为)就离职了!
23 种设计模式的通俗解释,看完秒懂
token多平台身份认证架构设计思路
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡

SpringCloud 2020版本教程2:使用spring cloud gateway作为服务网关相关推荐

  1. SpringCloud 2020版本教程1:使用nacos作为注册中心和配置中心

    点击关注公众号,Java干货及时送达 本次教程旨在为读者提供2020版本的最佳实践方案,使用我认为最容易学习的组件,可能很多组件有很多替代方案,在这里不依依讲述.本次教程使用的组件如下: 注册中心:n ...

  2. SpringCloud 2020版本教程0:springcloud 2020版本概述

    Spring cloud赶在2020年最后几天发布了新版本,版本号取名为2020.0.0,取消了英国地铁的命名方式.从H版本之后,全新的命名为2020.x.x.马上快2021年了,为毛不取名为2021 ...

  3. SpringCloud 2020版本教程3:使用sentinel作为熔断器

    点击关注公众号,Java干货及时送达 什么是sentinel Sentinel,中文翻译为哨兵,是为微服务提供流量控制.熔断降级的功能,它和Hystrix提供的功能一样,可以有效的解决微服务调用产生的 ...

  4. 跟我学SpringCloud | 第十二篇:Spring Cloud Gateway初探

    SpringCloud系列教程 | 第十二篇:Spring Cloud Gateway初探 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如 ...

  5. (十六)java springcloud版b2b2c社交电商spring cloud分布式微服务-使用spring cloud Bus刷新配置...

    b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.我们使用spring cloud分布式微服务云架构做了b2b2c的电子商务系统,除了架构本身自带的系统服务外,我们将b2b2c的业务服 ...

  6. spring cloud gateway之服务注册与发现

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 在之前的文章介绍了Spring Cloud Gateway的Predict(断言).Filter( ...

  7. spring cloud gateway+nacos 服务下线感知延迟,未及时出现503,请求依然转发到下线服务

    spring cloud gateway服务下线感知延迟,未及时出现503 1.场景描述 2.分析 2.1定位问题 3.解决方案 本篇算是配合之前的一篇了.整体问题是gateway对下线服务感知延迟, ...

  8. 【项目实战】Spring Cloud Gateway入门介绍 - 网关过滤器工厂

    一.全局过滤器GlobalFilter 全局过滤器是针对于网关而言通用的功能组件实现,采用全局来实现. 以下是两个如何全局过滤器GlobalFilter的实例 1.1 实例1:定义ForwardAut ...

  9. SpringCloud 2020版本教程4:使用spring cloud sleuth+zipkin实现链路追踪

    点击关注公众号,Java干货及时送达 Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可. 微服 ...

最新文章

  1. H5中滚动卡顿的问题
  2. 【转载】ftp获取文件
  3. 判断点是否在多边形内——射线法
  4. SAP系统中在发布了webservice,获得了WSDN地址后,外部系统怎么传数据到SAP?
  5. Integer与int的种种比较你知道多少?[转]
  6. LiveVideoStack线上分享第五季(三):新一代直播传输协议SRT
  7. 购买台式计算机方案,购买电脑的注意事项有哪些?
  8. 大学最难的课是哪一门课?
  9. 飞鸽传书2010与AM V6.0 功能比较
  10. 【Vue】—计算属性缓存VS方法以及侦听器的区别
  11. 左列定宽,右列自适应
  12. 支持哪些格式的图标_免费矢量图标素材资源网站,您一定会有需要(建议收藏)...
  13. svg 贝塞尔曲线图解(记录)
  14. popwindow下拉筛选 二级联动_工作录入数据需要三级联动下拉菜单,Excel轻松制作!-Excel教程...
  15. java mp4转码 h264_mp4格式的视频,编码方式mpeg4,转化为h264
  16. 域名抢注代码_如何停止域名抢注攻击
  17. 阳春三月,放飞希望---希望今年不再碌碌无为
  18. stamps中gacos去除大气噪声
  19. java远程连接fpt_java远程连接本地fpt
  20. unshift() :将一个或多个元素添加到数组的开头

热门文章

  1. python操作mysql数据库依赖包_python安装mysql的依赖包mysql-python操作
  2. Java中使用序列化实现深拷贝
  3. 2021全国高校计算机能力挑战赛(决赛)Java
  4. Android Parcelable的介绍与使用
  5. 吴裕雄 10-MySQL插入数据
  6. Python 的property的实现 .
  7. mysql帐号,权限管理
  8. HDU 1406 完数
  9. 《代码大全2》读后感czz
  10. UBUNTU安装SSH和xrdp