当前位置: 首页 > news >正文

Spring Cloud项目(八)——使用gateway作为服务网关

项目结构

在这里插入图片描述

代码编写

1、pom文件

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

2、yml文件

server:
  port: 8888

spring:
  application:
    name: nacos-gateway
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    gateway:
      routes:
        - id: abc
          uri: http://localhost:8081
          predicates:
            - Path=/consumer/**

3、启动类
在这里插入图片描述

4、父模块pom文件
在这里插入图片描述

之前是SR3,改成SR1。用SR3会报错,说是reactor-netty这个jar包不存在。。。

测试结果

依次启动:gateway、consumer、provider

在这里插入图片描述
在这里插入图片描述

Gateway简介

在这里插入图片描述

Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,WebFlux 等技术开发的Spring Cloud 生态系中的网关,目标是替代 Netflflix ZUUL,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:路由,过滤,和限流等。

Spring Cloud Gateway 的功能很强大,前面我们只是使用了 predicates 进行了简单的条件匹配,其实Spring Cloud Gataway 帮我们内置了很多 Predicates 功能。在 Spring Cloud Gateway 中 Spring 利用Predicate 的特性实现了各种路由匹配规则,有通过 Header、请求参数等不同的条件来进行作为条件匹配到对应的路由。

附:Spring Cloud学习系列

Spring Cloud项目(一)——集成Nacos作为注册中心
Spring Cloud项目(二)——集成Nacos作为配置中心
Spring Cloud项目(三)——实现Nacos数据信息持久化到MySQL
Spring Cloud项目(四)——使用Ribbon作为负载均衡
Spring Cloud项目(五)——使用openFeign作为服务调用
Spring Cloud项目(六)——使用sentinel作为流量管理
Spring Cloud项目(七)——使用sentinel作为限流和熔断
Spring Cloud项目(八)——使用gateway作为服务网关

相关文章:

  • 为什么要注册商标?有什么好处?
  • C/C++后端开发学习路线总结(附带实习学习经历分享)
  • 广西大学口袋开发板之抢答器
  • 【Python零基础入门篇 · 2】:掌握各种运算符和变量、input()输入输出、映射函数map()结合input()和split()函数实现多值输入
  • 单向环形链表构建(思路分析) [Java][数据结构]
  • 数智随行 | 探想未来工厂数字化,强化智能设备管理
  • 解决所有二叉树路径问题
  • Apache Kyuubi 在小米大数据平台的应用实践
  • 论文阅读(8)Cool your jets:海洋无脊椎动物的生物喷射推进(2021)
  • Git基本应用<一>:Git安装及GitHub连接
  • Java实现阿里云OSS上传文件
  • NP管理器 NPManager v3.0.49 安卓APK逆向反编译工具
  • 通过 WiFi 信标进行基于边缘的被动人群监控
  • Python 基于OpenCV+face_recognition+tkinter实现人脸特征监测
  • C字符串操作笔记
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • CentOS6 编译安装 redis-3.2.3
  • dva中组件的懒加载
  • echarts花样作死的坑
  • FineReport中如何实现自动滚屏效果
  • Java编程基础24——递归练习
  • Java到底能干嘛?
  • js操作时间(持续更新)
  • js对象的深浅拷贝
  • Leetcode 27 Remove Element
  • magento2项目上线注意事项
  • nginx 负载服务器优化
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • 对超线程几个不同角度的解释
  • 力扣(LeetCode)21
  • 前端设计模式
  • 什么是Javascript函数节流?
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • # 达梦数据库知识点
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (3)llvm ir转换过程
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (solr系列:一)使用tomcat部署solr服务
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (力扣)1314.矩阵区域和
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • .Mobi域名介绍
  • .net framework profiles /.net framework 配置
  • .net mvc 获取url中controller和action
  • .NET 服务 ServiceController
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • /var/spool/postfix/maildrop 下有大量文件
  • @Controller和@RestController的区别?
  • @Repository 注解
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [HJ73 计算日期到天数转换]