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/
二、为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、测试
2.4、将微服务注册到需认证的Eureka Server
配置application.properties:
eureka.client.service-url.defaultZone=http://liuy:[email protected]:9091/eureka/
eureka.client.service-url.defaultZone=http://用户名:密码@liuy2:9091/eureka/
转载于:https://blog.51cto.com/1754966750/1941420