赞
踩
本来是打算使用nacos来玩的,但是为了方便演示在我的本地环境,所以我还是打算使用Eureka来进行微服务的构建。然后就开始踩坑了,版本问题,加上好久没玩了。
昨天我所构建的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);
}
}
这里就是出现毛病的地方了,服了这个老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 形势与政策。越到期末事情越多呀!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。