6.Eureka高可用搭建
6.1 高可用原理
前面我们搭建的注册中心只适合本地开发使用,在生产环境中必须搭建一个集群来保证高可用。Eureka的集群搭建方法很简单:每一台Eureka只需要在配置中指定另外多个Eureka的地址就可以实现一个集群的搭建了。
以2个节点为例来说明搭建方式,假设我们有master和slaveone两台机器,需要做的就是:
·将master注册到slaveone上
·将slaveone注册到master上
6.2 搭建步骤
首先我们需要增加2个属性文件,通过不同的环境来启动不同的实例。
增加application-master.properties:
server.port=8761 #指向你的从节点的Eureka eureka.client.service-url.default-zone=http://用户名:密码@slaveone:8762/eureka
增加application-slaveone.properties:
server.port=8762 #指向你的主节点的Eureka eureka.client.service-url.default-zone=http://用户名:密码@master:8761/eureka
master和slaveone是hostname,可以在hosts文件中添加,直接写IP也行。
在application.properties中添加下面的内容:
spring.application.name=fangjia-euraka eureka.instance.hostname=localhost eureka.client.register-with-eureka=false eureka.client.fetch-registry=false #是否开启基本的鉴权,默认为true,不想要密码就设置为false security.basic.enabled=true security.user.name=riven security.user.password=123abc #指定不同的环境 spring.profiles.active=master
在A机器上默认用master启动即可,然后在B机器上加上—spring.profiles.active=slaveone启动即可。
这样master和slaveone就互相注册,无论谁挂掉了,应用都能继续使用存活的这个注册中心。
之前在客户端中我们通过配置eureka.client.service-url.default-zone来指定对应的注册中心,当注册中心有多个节点后。那就需要修改配置为多个节点的地址,多个地址用英文逗号隔开就好了。
7.常用配置详解
7.1 关闭自我保护
保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景时。
可以在注册中心配置文件中配置:eureka.server.enable-self-preservation=false
7.2 自定义Eureka的Instance ID
7.3 自定义实例跳转链接
7.4 快速移除已经失效的服务信息
8. 扩展使用
8.1 Eureka REST API
8.2 元数据使用
8.3 EurekaClient使用
8,4 健康检查
8.5 服务上下线监控
1111