一、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/
访问:http://localhost:9091/
二、为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、测试
eureka.client.service-url.defaultZone=http://liuy:123456@liuy2:9091/eureka/