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:之后的配置

 


  




posted @ 2020-09-07 20:14  julian^-^  阅读(245)  评论(0)    收藏  举报