spring-cloud中config配置中心使用(基于eureka的高可用)
Posted 不去天涯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-cloud中config配置中心使用(基于eureka的高可用)相关的知识,希望对你有一定的参考价值。
高可用
高可用反过来描述就是宕机时间短,使用平均无故障时间来衡量的。对于服务端来说,发现非高可用是比较容易的,只需要看是不是在某个环境存在单点就可以了,可以假设这台机器宕机了,会不会影响到用户使用,如果会那么这里就是单点。
当然了,单点还可能是机房级别的,比如服务仅部署在一个机房,如果一不小心光纤被挖断了,或者机房的整个机架都断电了,那么我们的服务就完全不能服务了,这样的损失是比较大的。
我们一般倾向的是,最好不受部分故障的影响,实在不行我们最请求降级,有意的拒绝一些请求来让系统继续保持服务,都是比较好的。
高可用有三种方式:1.主从复制,主服务挂掉后,从服务升级为主服务继续工作;2.双击热备,一台工作,一台stand by,工作的挂掉后,stand by的继续工作;3.集群,很多服务器同时工作,一台挂掉后,前端或者代理踢出这台服务器,不再向它发送请求。
config server高可用
config server的高可用方案,是借助eureka实现的,也就是高可用方案的第三种集群。
多台config server同时工作,一台挂掉后eureka服务器通知客户端,客户端后续不再从这里请求配置信息。
新加入的客户端从eureka注册服务获取配置信息的时候也不会从这台服务器获取。
eureka注册服务器
config server修改
pom.xml增加eureka的依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
application.yaml增加eureka注册中心的配置:
eureka:
client:
serviceUrl:
defaultZone: http://eureka1:8081/eureka/
ConfigServerApplication.java增加@EnableConfigServer注解
@SpringBootApplication
@EnableConfigServer
@EnableEurekaClient
public class ConfigServerApplication
客户端修改
pom.xml增加eureka的依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
bootstrap.yaml中增加eureka连接配置,同时屏蔽spring. cloud.config.uri
增加:spring.cloud.config.discovery.enabled
和spring.cloud.config.discovery.serviceId
。
spring:
cloud:
config:
#uri: http://127.0.0.1:8071
profile: pro
label: master
discovery:
enabled: true
serviceId: config-server
application:
name: config
eureka:
client:
serviceUrl:
defaultZone: http://eureka1:8081/eureka/
关于config server配置信息修改自动同步到客户端的内容,由于涉及到bus的功能,这里先不介绍,后续介绍完bus功能之后再行补充。
以上是关于spring-cloud中config配置中心使用(基于eureka的高可用)的主要内容,如果未能解决你的问题,请参考以下文章
干货分享微服务spring-cloud(7.配置中心spring-cloud-config)
干货分享微服务spring-cloud(8.服务治理和配置中心Spring-cloud-zooke)