第二代网关GateWay搭建流程
Spring Cloud第二代网关GateWay是由纯Netty开发,底层为Reactor,WebFlux构建,不依赖任何Servlet容器,它不同于Zuul,使用的是异步IO,性能较Zuul提升1.6倍。搭建过程如下(本次搭建的为子项目,主项目可以参考Nacos搭建流程 )
pom
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
配置文件
server:
port: 8040
spring:
application:
name: gateway
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
gateway:
discovery:
locator:
enabled: true
以上的意思不仅是把自己给注册到nacos,并且获取nacos的所有注册服务。
启动网关项目,现在就可以进行网络路由了。访问格式为 ip:端口/服务注册名/restfulapi-url
比方说我们现在有两个微服务项目,一个为user(端口8082),一个为nacos(端口8081).




三大核心概念
- Route(路由) Spring Cloud Gateway的基础元素,可简单理解成一条转发的规则。包含:ID,目标的URL,Predicate集合以及Filter集合。
- Predicate(谓词) 即java.util.function.Predicate,Spring Cloud Gateway使用Predicate实现路由的匹配条件。这是一个可以进行条件判断的函数式接口,具体可以参考本人博客Java函数式编程整理
- Filter(过滤器) 修改请求以及响应。
由于我们使用了nacos来进行服务发现,所以我们使用了之前的配置文件,但如果不使用服务发现,只做常规的转发如下
spring:
cloud:
gateway:
routes:
- id: some_route
uri: http://www.baidu.com
predicates:
- Path=/user/1
filtes:
- AddRequestHeader=X-Request-Foo, Bar
这段配置的意思是说,当我们请求/user/1的url的时候,会添加AddRequestHeader=X-Request-Foo, Bar过滤器做一些处理,然后路由到http://www.baidu.com。
路由谓词配置工厂
路由谓词配置工厂由一整套谓词来进行配置转发的不同情况。
来源:http://www.1994july.club/seo/
第二代网关GateWay搭建流程的更多相关文章
- spring cloud网关gateway
spring gateway使用基于netty异步io,第二代网关:zuul 1使用servlet 3,第一代网关,每个请求一个线程,同步Servlet,多线程阻塞模型.而spring貌似不想在支持z ...
- SpringCloud第二代实战系列:一文搞定Nacos实现服务注册与发现
一.背景:SpringCloud 生态圈 在正式开始本篇文章之前我们先岔开来讲一下SpringCloud的生态圈. SpringCloud大家都比较熟悉了,它制定了分布式系统的标准规范,做了高度抽象和 ...
- SpringCloud+Eureka+Feign+Ribbon的简化搭建流程,加入熔断,网关和Redis缓存[2]
目录 前提:本篇是基于 SpringCloud+Eureka+Feign+Ribbon的简化搭建流程和CRUD练习[1] 的修改与拓展 1.修改consumer的CenterFeign.java,把返 ...
- GPRS GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可用的一种移动数据业务,属于第二代移动通信中的数据传输技术
GPRS 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . GPRS(General Packet Radio Service)是通用分组无线服务技术的简称,它是GSM移动电话用户可 ...
- SpringCloudAlibaba-服务网关Gateway
一:网关简介 在微服务架构中,一个系统会被拆分为很多个微服务.那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用.这样的话会产生很多问 ...
- 学习一下 SpringCloud (六)-- 注册中心与配置中心 Nacos、网关 Gateway
(1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...
- SSH(Struts2+Spring+Hibernate)框架搭建流程<注解的方式创建Bean>
此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblo ...
- soul开源网关项目搭建学习
1. soul开源网关项目搭建学习 1.1. 地址 https://gitee.com/shuaiqiyu/soul 1.2. 介绍 官方介绍:这是一个异步的,高性能的,跨语言的,响应式的API网关. ...
- 联盟链初识以及Fabric环境搭建流程
这篇文章首先简单介绍了联盟链是什么,再详细的介绍了Fabric环境搭建的整个流程. 区块链分类: 以参与方式分类,区块链可以分为:公有链.联盟链和私有链. 定义: 我们知道区块链就是一个分布式的,去中 ...
随机推荐
- 四个因素决定Essay写作段落长度
段落是一篇Essay的基石,写好Essay应从写好段落开始.那么Essay写作中一个段落多长为好?英语和修辞学教授理查德·诺德奎斯特著文介绍了一些专家的观点.从以下的译文可以看到,段落长度虽然没有固定 ...
- 低JAVA版本,高兼容性启动
低JAVA版本,高兼容性启动 背景:部分操作系统java环境低版本,暂时无法更新最新版本,新系统需要使用较高版本Java环境 1.JAVA低版本不兼容当前应用 2.解压安装JAVA,无需配置环境变量 ...
- Linux|Zookeeper--CentOS7开机启动Zookeeper
参考 https://www.cnblogs.com/zhangmingcheng/p/7455278.html 在 /etc/rc.d/init.d 下创建zookeeper脚本 #!/bin/ba ...
- 计算机网络(1): http原理和uuid
http 的请求报文和响应报文格式 请求报文有哪些方法 一个典型的http报文 状态码有哪几种 以及短语是用来解释状态码的 接口测试中,需要使用到UUID,用来生成唯一ID. 1.什么是UUID UU ...
- centos rpm安装jdk1.8
1.官网下载jdk的rpm文件(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) ...
- PAT Advanced 1106 Lowest Price in Supply Chain (25) [DFS,BFS,树的遍历]
题目 A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)– everyone in ...
- 数字证书原理(ssl,https)
https://blog.csdn.net/qq_34115899/article/details/81298284 关于私钥公钥数字签名数字证书.https.RSA的一些讲解 http://www. ...
- android 根据距离区分 点击跟滑动事件
public void onClick(View v) { if (isclick) Log.i(TAG, "onclick"); } }); } float distance = ...
- 黑客攻防技术宝典web实战篇:测试后端组件习题答案
随书答案. 某网络设备提供用于执行设备配置的 Web 界面.为什么这种功能通常易于受 到操作系统命令注入攻击? 用于配置网络设备的应用程序通常包含使用正常的 Web 脚本 API 无法轻松实 现的功能 ...
- vue项目起步准备
1. 项目环境: node.js运行环境(不一定要最新特性的最新版本,用合适的版本即可) 2.项目放在git上管理(网上云仓库码云) 1.创建仓库:选择语言js 2.本地代码和线上代码通过git做成关 ...