天天看点

springCloud(4):Eureka Server的高可用与用户认证

一、Eureka Server的高可用

1.1、简介

Eureka Client会定时连接Eureka Server,获取服务注册表中的信息并缓存在本地。微服务在消费远程API时总是使用本地缓存中的数据。因此一般来说,即使Eureka Server发生宕机,也不会影响到服务直接的调用。但是如果Eureka Server宕机时,某些微服务也出现了不可用的情况,Eureka Client中的缓存如果不被更新,就可能会影响到微服务的调用,甚至影响到整个系统的高可用性。因此在生产环境下,通常会部署一个高可用的Eureka Server集群。

Eureka Server可以通过运行多个实例并相互注册的方式实现高可用部署,Eureka Server实例会彼此增量地同步信息,从而确保所有节点数据一致。

1.2、操作

1、配置系统的hosts文件,如下:

127.0.0.1	liuy1	liuy2      

2、修改application.properties配置文件,让两个节点的Eureka Server相互注册

server.port=9090
spring.application.name=eureka-server-1
spring.profiles.active=liuy1
eureka.instance.hostname=liuy1
eureka.client.service-url.defaultZone=http://liuy2:9091/eureka/      

访问:http://localhost:9090/ 

springCloud(4):Eureka Server的高可用与用户认证

访问:http://localhost:9091/ 

springCloud(4):Eureka Server的高可用与用户认证

二、为Eureka Server添加用户认证

2.1、添加依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>      

2.2、配置application.properties

######################为Eureka Server添加用户认证【开始】###############################
#开基于HTTP basi的认证
security.basic.enabled=true
#认证登录的账号
security.user.name=liuy
#认证登录的密码
security.user.password=123456
######################为Eureka Server添加用户认证【结束】###############################      

2.3、测试

springCloud(4):Eureka Server的高可用与用户认证
eureka.client.service-url.defaultZone=http://liuy:123456@liuy2:9091/eureka/