springboot-2.3.3+dubbo-2.7.8+nacos-1.3.2+gateway-Hoxton.SR8

1 篇文章 0 订阅
1 篇文章 0 订阅

序言:

此次介绍的实践是dubbo-2.7.8+nacos-1.3.2+gateway-Hoxton.SR8

     1、升级注册中心,。其目的是项目中要从使用dubbo+zookeeper服务间调用升级为dubbo+nacos服务间调用

          第一点可以参考:https://blog.csdn.net/lwb314/article/details/108233863

     2、升级网关,在升级之前有可能使用的是vue在前端做的服务的路由转发,也有可能使用的是nginx中根据不同的访问路径做的服务转发。将升级使用springcloud的gateway 

     

一、确定springboot版本和springcloud的版本

此次使用的springboot版本是:2.3.3.RELEASE

参考官网:https://docs.spring.io/spring-cloud/docs/Hoxton.SR8/reference/html/

若是其他版本,则更改官网地址中的    Hoxton.SR8  。

 例如更改为 :https://docs.spring.io/spring-cloud/docs/Hoxton.SR9/reference/html/

则会出现  springcloud版本为  Hoxton.SR9   最适合的springboot版本。

也可参考博文:https://blog.csdn.net/qq32933432/article/details/89375630

二、导入依赖

springcloud的pom依赖:

 <spring-cloud.version>Hoxton.SR8</spring-cloud.version>
            <!--spring cloud-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

三、创建gateway工程

gateway的pom依赖:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

注意:gateway底层使用的spring5.2.0之后的webflux,其中不能与spring-boot-starter-web同时引用。

解决方法:就是将spring-boot-starter-web进行排除依赖

四、修改启动类,修改配置文件

启动类:

//开启nacos的动态配置文件的刷新功能
@RefreshScope
//扫描包中所配置的bean
@ComponentScan("com.day")
//开启nacos服务注册
@EnableDiscoveryClient
@SpringBootApplication
public class DayGatewayApplication {

    public static void main(String[] args) {
        SpringApplication.run(DayGatewayApplication.class, args);
    }

}

配置文件:

application-dev.yml

spring:
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      #        group: DEV_GROUP  #默认是  DEFAULT_GROUP
      #        namespace: 2f942653-3980-418d-95ed-f36cd44ac984   #默认是public 如果需要使用,则需要将nacos中所创建出来的命名空间中命名空间ID
      discovery:
        server-addr: 127.0.0.1:8848
#        group: DEV_GROUP  #默认是  DEFAULT_GROUP
#        namespace: 2f942653-3980-418d-95ed-f36cd44ac984   #默认是public 如果需要使用,则需要将nacos中所创建出来的命名空间中命名空间ID
application.yml:

  server:
  port: 9048
spring:
  application:
    name: day-gateway
  profiles:
    active: dev
  cloud:
    nacos:
      config:
        # \u914D\u7F6E\u6587\u4EF6\u7684\u540E\u7F00
        file-extension: yml
    gateway:
      globalcors:
        cors-configurations:
          '[/**]':
            allow-credentials: true
            allowed-origins: "*"
            allowed-headers: "*"
            allowed-methods:
              - OPTIONS
              - GET
              - POST
            max-age: 3600
      discovery:
        locator:
          enabled: true
      default-filters:
        - StripPrefix=1
      routes:
        - id: day-today
          uri: lb://day-today
          predicates:
            - Path=/today/**
        - id: day-yesday
          uri: lb://day-yesday
          predicates:
            - Path=/yesday/**

其中gateway的配置

参考博文:https://blog.csdn.net/qq_38380025/article/details/102968559

参考官网: https://docs.spring.io/spring-cloud-gateway/docs/2.2.5.RELEASE/reference/html/#the-path-route-predicate-factory

整合网关至此结束。

此博文对应的工程:

github:https://github.com/qjyn1314/days

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值