一、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/