SpringCloud基本微服务构建(Eureka+GateWay)
Posted Huterox
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
启动类
这个应该不用说了,不过我习惯创建空的model,还是得自己加上这个玩意
@SpringBootApplication
public class GateWayApplication
public static void main(String[] args)
SpringApplication.run(GateWayApplication.class,args);
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
我踩坑的地方就在那个 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!
测试
可以看到网关生效了
下面也成功访问到了这个中心
ok,后面我应该就可以玩起来了,配置啥的应该就没问题了,剩下的端午再说了,一个晚上刷了两套毛概,一套(半套)四级,and 形势与政策。越到期末事情越多呀!
以上是关于SpringCloud基本微服务构建(Eureka+GateWay)的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud微服务云架构构建B2B2C电子商务平台之-服务的注册与发现Eureka
SpringCloud微服务云架构构建B2B2C电子商务平台之-Eureka服务消费Feign
SpringCloud02_Eureka概述单机案例集群案例微服务服务完善服务发现Discovery自我保护机制
SpringCloud微服务(01):Eureka组件,管理服务注册与发现