一直都局限网上Demo一样的配置中心学习深度,没有实际项目经验,今天好不容易接手一个spring cloud项目的运维,可以好好玩玩,学习学习。
背景:
微服务几十个,本地开发环境不想所有服务都启动,本地CPU与内存也抗不住,于是想本地只启动要修改的服务,假设为A服务,注册中心和其他所有服务用SIT环境的,由于没有做负载均衡,所以把SIT环境的A服务停掉,启动本地的A服务,注册到SIT环境,理论上是可行的,
实际上遇到各种坑:
1.把A服务的注册中心改成SIT环境的,结果发现启动报错,一看各种配置参数找不到,肯定是获取不到配置中心的参数,日志明明打印了:Fetching config from server at http://*.*.*.*:9999/config-server,地址是对的,可就是获取不到,对照其他的,好像也没配错。
解决办法:在A服务配置加上日志信息, debug:true,重大发现,输出RestTemplate-http get http://*.*.*.*:9999/config-server/serviceA/dev,明显获取配置文件URL不对,肯定是配错了。
Spring:
application:
name: serviceA
profiles:
#本服务激活哪个环境,为SIT
active:${DEPLOYMODE:SIT}
cloud:
config:
discovery:
enabled: true
#配置中心的a