spring-cloud 之 eureka 与 spring-cloud-config
netflix 竟然闭源了,淦,springcloud估计接下来有很大的改动,不知道阿里能不能后来居上了,
闭源影响了不少组件
eureka × nacos | zookeeper
Ribbon × loadbalance
Feign × Open Feign
Hystrix × sentinel | resilience4j
Zuul × gateway
spring-cloud-config × Nacos
服务总线bus × nacos
虽然现在这些组件还能用 但是一定会越来越边缘化的 ,也不知道为啥Netflix 要这么做
一. Eureka
Eureka 是一个注册中心,一般采用集群的方式使用.
Eureka 分为 server端与client端, server端的已经依赖了客户端
使用Eureka需要:
0.添加依赖,server端:spring-cloud-starter-netflix-eureka-server,client需要spring-cloud-starter-netflix-eureka-client,这里一定要有starter,不然的话不会报错,debug啥也看不出来,但是注册不上服务,很坑,在这里深刻体会到了Spring Initializatizer的好处,淦
1.server端在配置类里上加@EnableEurekaServer,client端加@EnableEurekaClient,
2.client端配置eureka.client.register-with-eureka,eureka.client.fetch-registry,eureka.client.server-url.defaultZone,
3.server端额外配置eureka.instantance.hostname
在集群模式下,server需要把其他的Eureka-server地址全部配置到default-zone,自身ip配置到hostname
当调用Eureka服务时候使用RestTemplate调用,并且在其上注解@LoadBalance,进行轮询的负载均衡,否则不会选择确切的服务,http://服务名/路径/id,这样就可以使用Eureka调用借口了
4.client端配置eureka.instance.prefer-ip-address,使用ip地址来注册服务,在docker情况下很有用
5.client端配置eureka.instance.instance-id,可以更改eureka网页中status栏中的服务名字,方便进行管理,分组
6.eureka的自我保护机制会在服务大量丢失时候开启,如果要关闭,eureka,server.enable-self-preservation=false关闭
在默认的情况下,Eureka使用了客户端负载均衡:没过30秒,从Eureka获取服务列表,客户端自己进行负载均衡
二.spring-cloud-config
它的使用也很简单
引入依赖后,
1.主启动类上加@EableConfigServer
2.配置:
spring:
cloud:
config:
server:
git:
password: github
username: 229718156@qq.com
uri: https://github.com/Julian332/config-repo/
search-paths: licensingservice,organizationservice
3.基于本地文件的配置文件比较少用
4.使用配置服务的 配置:
spring:
cloud:
config:
uri: http://localhost:8888
enabled: true
在启动类上加入@RefreshScope后,可以通过使用Actuator来让Springboot重新加载配置,但是只可以加载spring:之后的配置

浙公网安备 33010602011771号