栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot整合Gateway、Nacos记录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot整合Gateway、Nacos记录

*********************************************禁止转载****************************************************

这个版本简直欲仙欲死,各种冲突,搜博客总是残缺的,这里个人总结一下

这里用的Spring cloud 版本 版本 版本 重要的事情说三遍

父级 pom 2.3.1.RELEASE

    
        org.springframework.boot
        spring-boot-starter-parent
        2.3.1.RELEASE
         
    

定义dependencyManagement

 
        
            
            
                com.alibaba.cloud
                spring-cloud-alibaba-dependencies
                2.2.0.RELEASE
                pom
                import
            
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                Hoxton.RELEASE
                pom
                import
            
        
    
 
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
        
            commons-lang
            commons-lang
            2.6
        
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
        
        
            org.apache.httpcomponents
            httpcore
            4.4.15
        
        
            org.springframework.boot
            spring-boot-starter
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.cloud
            spring-cloud-starter-gateway
        
        
            io.projectreactor.netty
            reactor-netty
            0.9.8.RELEASE
        
        
            org.springframework
            spring-webflux
            5.2.7.RELEASE
        
        
            io.projectreactor.addons
            reactor-extra
        
    

准备yaml

这一有点疑问搞了很久 本地yaml 须命名为:bootstrap.yml,才能读到

server:
  port: 8084
spring:
  application:
    name: XXX-gateway
  cloud:
    nacos:
      discovery:
        server-addr: XXXXXXXXXXXX:8848
      config:
        server-addr: XXXXXXXXXXXX:8848
        file-extension: yaml

启动类加上

@EnableDiscoveryClient
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

Nacos用的 2.0.3

同理nacos上创建配置文件,data-id=XXX-gateway.yaml,配置格式:yaml

启动服务

Nacos控制台查看服务列表是否已存在XXX-gateway

更改nacos上的配置文件 ,已经动态刷新配置了

路由配置

spring:
  cloud:
    gateway:
      routes:
        - id: userManagerment# 题目微服务路由规则
          uri: lb://userManagerment# 负载均衡,将请求转发到注册中心注册的XXXXX服务
          predicates: # 断言
            - Path=/userManagerment/** # 如果前端请求路径包含 api/XXX,则应用这条路由规则
          filters: #过滤器
            - RewritePath=/userManagerment/(?.*),/${segment} # 将跳转路径中包含的 XX替换成空

id里面保持唯一即可

uri: lb://userManagerment,userManagerment代表准备微服务名,在服务列表中

uri: http://baidu.com ,代表转发网址

 predicates: # 断言
            - Path=/userManagerment/**  ,即路径中包含XXX字符,转发这个规则

 filters: #过滤器
            - RewritePath=/userManagerment/(?.*),/${segment}  

   这个filters 是去掉实际转发的路径规则,

比如前端发起:http://127.0.0.1:8084/userManagerment/user/getUserInfo

filters 将中间userManagerment删除掉,

转发到实际服务就是http://127.0.0.1:8081/user/getUserInfo

目前为止基础整合完毕,当然后续需要加上登录验证,权限等等

仅仅个人记录,仅供参考

*********************************************禁止转载****************************************************

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/678412.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号