0.9.0.RELEASE版本的spring cloud alibaba nacos+gateway降级处理实例
时间:2019-08-23
本文章向大家介绍0.9.0.RELEASE版本的spring cloud alibaba nacos+gateway降级处理实例,主要包括0.9.0.RELEASE版本的spring cloud alibaba nacos+gateway降级处理实例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天看下网关怎么弄,我们测试还是基于之前弄的服务提供方和消费方(最新的参见0.9.0.RELEASE版本的spring cloud alibaba sentinel+feign降级处理实例)。这个gateway是用来替换zuul的,我们看下它怎么来跟nacos玩。三板斧:
1、pom:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <artifactId>lxytrans-application-gateway</artifactId> <groupId>com.wlf</groupId> <version>0.0.1-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.7.RELEASE</version> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Greenwich.SR2</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>0.9.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <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> </project>
2、application.yml(因为涉及到路由映射,routes下面会有很多配置,yml成了标配):
#端口 server: port: 8484 #应用名 spring: application: name: lxytrans-gateway #注册中心 cloud: nacos: discovery: server-addr: localhost:8848 register-enabled: true # 网关 gateway: discovery: locator: lowerCaseServiceId: true enabled: true routes: - id: lxytrans-consumer uri: lb://lxytrans-consumer predicates: - Path=/wlf/consumer/** filters: - StripPrefix=2 - id: lxytrans-provider uri: lb://lxytrans-provider predicates: - Path=/wlf/provider/** filters: - StripPrefix=2
这里的配置说明下:
spring.cloud.gateway.discovery.locator.lowerCaseServiceId:支持服务实例名小写(如果nacos上的服务名是大写的话),用于识别下面的小写的uri中的服务实例配置。
spring.cloud.gateway.discovery.locator.enabled:支持gateway到注册中心进行服务的注册和发现,打开后可以直接通过服务实例名访问。
spring.cloud.gateway.routes:
id
:路由的ID,唯一。uri
:匹配路由的转发地址,lb是load balance缩写,后面带转发的服务实例名。predicates
:配置该路由的断言,有很多种断言方式,可以组合使用。最常用的Path是请求路径匹配。- filters:过滤规则,也是有多种。这里StripPrefix用来截去Path前面的路径,就上面的例子而言,/wlf/provider/hello最终转发过去就是/hello。
3、启动类:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @EnableDiscoveryClient @SpringBootApplication public class TransGatewayApplication { public static void main(String[] args) { SpringApplication.run(TransGatewayApplication.class, args); } }
打完收功。跑起来后nacos会出现gateway实例:
我们看到服务消费方、提供方的实例都是活的,通过网关来试试调用它们:
直接用实例名:
用路由(消费方调服务方超时降级):
原文地址:https://www.cnblogs.com/wuxun1997/p/11398455.html
- 厚土Go学习笔记 | 02. 打印当前时间time.Now()时不我待
- 厚土Go学习笔记 | 01. Hello World开篇
- Golang精编100题
- IntelliJ idea配置Go开发环境
- 仰望PHPSHE1.5漏洞
- Golang负载均衡
- 构建Docker镜像两种方式的比较-Dockerfile方式和S2I方式
- Golang单例模式
- 2018,我要Axublog。
- 厚土Go学习笔记 | 16. go语言有指针 没有指针运算
- 嗤!给你来点fiyocms漏洞喷雾
- 厚土Go学习笔记 | 15. defer语句延迟函数的执行
- Nodejs学习笔记(九)--- 与Redis的交互(mranney/node_redis)入门
- Nodejs学习笔记(十)--- 与MongoDB的交互(mongodb/node-mongodb-native)、MongoDB入门
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- php实现登录页面的简单实例
- Laravel 自带的Auth验证登录方法
- laravel实现上传图片的两种方式小结
- Laravel开启跨域请求的方法
- Laravel 5.4前后台分离,通过不同的二级域名访问方法
- Yii框架数据库查询、增加、删除操作示例
- 在laravel5.2中实现点击用户头像更改头像的方法
- laravel 多图上传及图片的存储例子
- Laravel 添加多语言提示信息的方法
- Laravel框架表单验证操作实例分析
- Thinkphp5.0框架视图view的模板布局用法分析
- laravel5环境隐藏index.php后缀(apache)的方法
- php实现对文件压缩简单的方法
- laravel实现Auth认证,登录、注册后的页面回跳方法
- php 实现银联商务H5支付的示例代码