注: 本文会持续更新
在学习SpringCloud的过程中,碰到了很多坑,而有很多坑是因为配置而引起的,所以本文主要记录的就是在配置SpringCloud时遇到的坑
原因总结
1. 大部分由配置错误导致的程序运行异常,基本上都是由于对配置不熟,然后通复制配置文件产生的,以后还是要对每一行配置都做到心中有数,能不复制尽量就别复制了,太坑了
eureka.client.fetch-registry
它默认是为true的,大部分情况下我们不需要关心,为了定期的更新客户端的服务清单,以保证服务访问的正确性,当把这个值配置为false时,你的服务发现功能就废掉了,当时在做ribbon的负载均衡时被这个配置坑惨了,当时不管怎么配置,永远都取不到服务列表,还会产生一个错误:
Spring Cloud and Eureka: java.lang.IllegalStateException: No instances available for you-service-id
eureka.client.regist-with-eureka
它默认是为true的,这个配置基本的用法是向eureka注册服务用的,配置为false时是为了避免自己向自己注册,
但是其他节点配置为false时将不会产生注册行为,导致服务节点无法正常注册
2. SpringCloud中的service-id一定不要出现下划线("-"),否则容易出现很奇怪的事情,比如可以在Eureka成功注册该服务,但是在使用Ribbon或者Feign做服务调用的时候会找不到这个服务,并产生查找不到该服务的错误,请一定留意,推荐使用中划线("-")作为连接符。