nacos整合gateway配置

这篇具有很好参考价值的文章主要介绍了nacos整合gateway配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

spring官方gateway Spring Cloud Gateway 选择学习的版本Doc

创建父子项目

nacos整合gateway配置

1、第一步创建父模块,父模块导入pom

    <!--父模块打包方式pom-->
    <packaging>pom</packaging>
    
    <!--配置管理-->
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud-alibaba.version>2.2.8.RELEASE</spring-cloud-alibaba.version>
        <spring-cloud.version>Hoxton.SR12</spring-cloud.version>
    </properties>
    <!--SpringBoot-->
    <parent>
        <groupId> org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.12.RELEASE</version>
    </parent>

    <!--SpringCloud 需要做版本的统一 官方地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

2、第二步创建gateway服务,这个是gateway服务的pom

         <!--子模块打包方式pom-->
        <packaging>jar</packaging>
        <dependencies>
            <!--gateway的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>

            <!--nacos的配置-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            </dependency>
        </dependencies>

3、第三步 注册到nacos注册中心,有个nacos的教程http://t.csdn.cn/dnU6r

gateway服务的application.yml配置跟bootstrap.yml,好像可以不用配application.yml,springBoot启动会加载配置文件,只要配置了远程的,就可以不用配置这个application.yml

本地application.yml

server:
  port: 7000
spring:
  application:
    name: service-gateway
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848	#Nacos注册中心地址
    gateway:
      discovery:
        locator:
          #开放服务名访问方式 true时候,可以使用地址 http://localhost:7000/service-wx/xler/wx/test1 就是直接可以通过服务名然后去定位controller地址进行访问
          #false就 只能 通过配置的路由进行访问
          enabled: false 
          lower-case-service-id: true #服务名小写
      routes: #路由配置
        - id : wx #指定服务id,随便取,但是不能重复
          uri: lb://service-wx #去注册中心找这个服务名 后面这个就是服务的名字spring.application.name: service-gateway
          predicates:    #断言,匹配访问的路径
            - Path=/gg/xler/wx/**	#服务访问路径
          filters:  #过滤
            - StripPrefix=1	#请求转发的时候会去掉 /gg访问路径  最终转发请求的服务地址:
      globalcors: #跨域配置
        cors-configurations:
          '[/**]':
            allowedOrigins:
              - "http://127.0.0.1:8081" #允许跨域
              - "http://127.0.0.1:8082"
            allow-credentials: true
            allowed-headers: "*"
            allowedMethods: #请求方式
              - GET
              - POST
              - DELETE
              - PUT
              - PATCH
              - OPTIONS
              - HEAD
              - CONNECT
              - TRACE

配置远程配置文件

spring:
  main:
    allow-bean-definition-overriding: true  #允许bean覆盖 我也不懂
  profiles:
    active: dev #环境
  cloud:
    nacos:
      discovery:
        enabled: true #开启服务注册发现
        server-addr: 127.0.0.1:8848 #nacos注册中心地址
        group: DEFAULT_GROUP  #分组
        namespace: 4cfc2538-6811-4761-b3ce-2bcaa6b68d71 #命名空间
        username: nacos #nacos账户密码
        password: nacos
        ip: 127.0.0.1 #服务器地址
      config:
        enabled: true         # 是否开启配置中心,默认true
        server-addr: 127.0.0.1:8848 #配置中心
        file-extension: yaml #配置文件格式
        prefix: xler-gateway #配置前缀 ,默认使用sring.application.name
        group: xler  #配置分组
        namespace: 4cfc2538-6811-4761-b3ce-2bcaa6b68d71  #命名空间

4、第四步,创建启动类

@SpringBootApplication
@EnableDiscoveryClient 用于nacos的客户端的服务注册发现的注册

nacos整合gateway配置

 5、第五步,启动就完事了。就注册到nacos了

nacos整合gateway配置

6、创建其他的服务,然后注册到nacos,通过网管去访问

nacos整合gateway配置

 nacos整合gateway配置

 文章来源地址https://www.toymoban.com/news/detail-459791.html

到了这里,关于nacos整合gateway配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Cloud Gateway + Nacos 灰度发布

    本文将会使用 SpringCloud Gateway 网关组件配合 Nacos 实现 灰度发布(金丝雀发布) 创建子模块 服务提供者  provider ,网关模块  gateway 父项目 pom.xml 配置 服务提供者 provider 这里我们计划引入  nacos , 所以先创建一个 nacos 配置文件  dataId  为  provider.properties , 这里用默认的命名

    2024年02月03日
    浏览(24)
  • Spring Cloud Gateway集成Nacos实现负载均衡

    💡Nacas可以用于实现Spring Cloud Gateway中网关动态路由功能,也可以基于Nacos来实现对后端服务的负载均衡,前者利用Nacos配置中心功能,后者利用Nacos服务注册功能。 接下来我们来看下Gateway集成Nacos实现负载均衡的架构图 一. 环境准备 1. 版本环境 Jdk: java.version1.8/java.version Spr

    2024年02月10日
    浏览(37)
  • Spring Cloud Gateway GlobalFilter(全局过滤器)详解(官方原版)

    GlobalFilter接口具有与GatewayFilter相同的签名。这些是有条件地应用于所有路由的特殊过滤器。 当请求与路由匹配时,过滤web处理程序会将GlobalFilter的所有实例和GatewayFilter的所有路由特定实例添加到过滤器链中。这个组合过滤器链由org.springframework.core.Ordered接口排序,您可以通

    2024年02月09日
    浏览(36)
  • Spring Cloud整合nacos

    Spring Cloud 是一个分布式微服务框架,提供了一系列用于构建分布式系统的工具和组件。Nacos 是阿里巴巴开源的一个注册中心和配置中心,也提供调用链追踪、动态配置、服务发现、流量管理等功能。 在使用 Spring Cloud 构建微服务应用时,我们需要整合 Nacos,以下是整合步骤:

    2024年02月10日
    浏览(25)
  • Spring Cloud Gateway + Nacos 实现服务上下线无缝切换

    大家好,我是不才陈某~ 最近知识星球的球友在学习星球中的《精尽Spring Cloud Alibaba》专栏提到一个问题,相信也有很多人在线上环境遇到过,或许也因此被批过:一个集群中有某个服务突然下线,但是网关还是会去请求这个实例,所以线上就报错了,报错信息如下图: 究其

    2024年02月15日
    浏览(29)
  • Gateway网关组件(在Spring Cloud整合Gateway(idea19版本))

            Spring Cloud Gateway官网:Spring Cloud Gateway         局域网中就有网关这个概念,局域网接收数据或发送数据都要通过网关,比如使用VMware虚拟机软件搭建虚拟机集群的时候,往往我们需要选择IP段中的⼀个IP作为网关地址,网关可以对请求进行控制,提升我们系统的安

    2024年02月16日
    浏览(32)
  • Spring Gateway、Sa-Token、nacos完成认证/鉴权

    之前进行鉴权、授权都要写一大堆代码。如果使用像Spring Security这样的框架,又要花好多时间学习,拿过来一用,好多配置项也不知道是干嘛用的,又不想了解。要是不用Spring Security,token的生成、校验、刷新,权限的验证分配,又全要自己写,想想都头大。 Spring Security太重

    2024年02月09日
    浏览(37)
  • springboot整合spring cloud gateway搭建网关服务

    spring cloud netflix zuul、spring cloud gateway是最常见的微服务网关,通过网关,我们可以在请求到达后端指定服务之前/后端服务处理完业务响应数据之后对响应进行对请求/响应进行处理。 比如常见的参数校验、接口鉴权等等,在后端服务的拦截器和过滤器能做的事在网关都可以做

    2024年02月07日
    浏览(38)
  • Spring Cloud 之 Sentinel简介与GATEWAY整合实现

    随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 熔断 微服务架构的系统通常会包含

    2024年02月19日
    浏览(33)
  • 优化 spring cloud gateway+nacos时服务恢复调用太慢问题

    问题描述 在使用 spring cloud gateway + nacos 做服务发现时,会发现当下游的服务器恢复了,但是还有经过一段时间 gateway 才成功转发请求到刚恢复的下游服务上。于是我就深入源码进行企图通过修改相关配置的方式优化gateway服务发现的恢复时间。 相关依赖版本 源码 经过漫长的

    2024年02月01日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包