一、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=9090spring.application.name=eureka-server-1spring.profiles.active=liuy1eureka.instance.hostname=liuy1eureka.client.service-url.defaultZone=http://liuy2:9091/eureka/

访问: 

访问: 

 

二、为Eureka Server添加用户认证

2.1、添加依赖

    
org.springframework.boot
    
spring-boot-starter-security

2.2、配置application.properties

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

2.3、测试

访问: 

2.4、将微服务注册到需认证的Eureka Server

配置application.properties:

eureka.client.service-url.defaultZone=http://liuy:123456@liuy2:9091/eureka/

eureka.client.service-url.defaultZone=http://用户名:密码@liuy2:9091/eureka/