当前位置:   article > 正文

SpringCloud基本微服务构建(Eureka+GateWay)_springcloud eureka gateway

springcloud eureka gateway

前言

本来是打算使用nacos来玩的,但是为了方便演示在我的本地环境,所以我还是打算使用Eureka来进行微服务的构建。然后就开始踩坑了,版本问题,加上好久没玩了。

GateWay版本兼容问题

昨天我所构建的dome是基于这个 SpringCloud Hoxton.SR12 来玩的。

但是今天遇到了版本问题,不兼容,所以没办法只能回退到SR10
在这里插入图片描述

服务配置

这个服务的话还是昨天的dome,为了避免问题我都是习惯先来个dome玩玩配置,玩意实际开发出毛病了就麻烦了,尤其是好久没玩微服务了,必须要慎重一丢丢。

就比如今天的问题,以前nacos没一点毛病儿,到eureka就不行了。

子服务

这个还是昨天的两个玩意儿。
SpringCloud微服务项目搭建流程

在这里插入图片描述

因为这边主要是验证eureka和gateway的毛病,其他的feign神马的玩意没去搞,因为这个是不会出问题的,而且还没有dao,没有服务转发的需要,那个得等到小爷做具体的服务拆分的时候去搞,专门提取出feign层做依赖去。

网关配置

依赖导入


    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

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


        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

启动类

这个应该不用说了,不过我习惯创建空的model,还是得自己加上这个玩意
在这里插入图片描述

@SpringBootApplication
public class GateWayApplication {

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

application 配置

这里就是出现毛病的地方了,服了这个老6

server:
  port: 8087


spring:
  application:
    name: gateway # 服务名称
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true
      routes:

        - id: consume8081
          uri: lb://cloudconsumservice
          predicates:
            - Path=/consume/**
          filters:
            - StripPrefix=1

        - id: provide8083
          uri: lb://cloudprovideservice
          predicates:
            - Path=/provide/**
          filters:
#            - 转发做拼接,去掉provide后缀,uri/** 而不是 uri/provide/**
            - StripPrefix=1
#            与之对于的还有 PrefixPath=/Huterox
#  当访问 http://localhost:8762/aaa,加上前缀就变成 http://localhost:8762/Huterox/aaa
 

        - id: test
          uri: https://cn.bing.com
          predicates:
            - Path=/test/**
eureka:
#  将ip配置到eureka里面,不给就是host名会配置到那个里面
#  instance:
#    prefer-ip-address: true
  client:
    service-url:  # eureka的地址信息
      defaultZone: http://127.0.0.1:10086/eureka


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

我踩坑的地方就在那个 StripPrefix=1,当然还有一个,这个服务名不能有“_” 要么去掉,要么改成 “-” 当时还发现这个拿不到注册中心的服务,后来改了,然后还是访问不到,然后加了test测试,然后可以,然后就猜测是准发路径的问题,结果猜对了,靠。
原来小爷 用nacos的时候这样就跑起来了

server:
  port: 10010

spring:
  application:
    name: gateway
  cloud:
    nacos:
      server-addr: nacos:8848 
    gateway:
      routes:
        - id: user-service 
          uri: lb://userservice 
          predicates: 
            - Path=/user/** 

      default-filters:
        - AddRequestHeader=Truth,Itcast is freaking awesome!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

测试

在这里插入图片描述
可以看到网关生效了
下面也成功访问到了这个中心
在这里插入图片描述

ok,后面我应该就可以玩起来了,配置啥的应该就没问题了,剩下的端午再说了,一个晚上刷了两套毛概,一套(半套)四级,and 形势与政策。越到期末事情越多呀!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/544990
推荐阅读
相关标签
  

闽ICP备14008679号