Spring cloud 之三(Eureka server 高可用配置)

一、Eureka server(注册中心) 服务集群

  • 服务同步

  多个Eureka server 之间也会互相为服务,当服务注册提供者注册到Eureka server 集群中的某一个节点时,该节点会把服务提供者的信息同步到每一个集群的节点,实现数据同步。

  因此,无论客户端访问到Eureka server 集群的任一几点都可以获取到完整的服务列表。

  •  搭建Eureka server 集群需要注意配置文件application.yml
spring:
  application:
    name: springcloud-eureka-server
server:
  #含义:读取系统可以端口,否则使用定义
  port: 10086
#设置该服务中心的hostname,指定ip,该实例名称不能重复
eureka:
  instance:
    hostname: localhost
  client:
    #是否注册自己,默认true,这个应用会向注册中心(也是它自己)注册它自己,设置为false表示禁止这种自己向自己注册的默认行为
    #register-with-eureka: false
    #表示是否从Eureka Server获取注册信息,默认为true。如果这是一个单点的 Eureka Server,不需要同步其他节点的数据,可以设为false。
    #fetch-registry: false
    #指定服务注册中心的位置
    #如果是集群,Eureka集群相互指向注册中心
    service-url:
      #集群搭建 多个注册中心url使用英文“,”拼接
      defaultZone: http://127.0.0.1:${server.port}/eureka
  

二、服务端、客户端配置 

1、客户端:

  服务地址使用ip方式、续约

1 eureka:
2   instance:
3     #使用Ip 不使用host名
4     prefer-ip-address: true
5     ip-address: 127.0.0.1
6     #服务续约(renew)时间间隔,默认30s 每隔30s向注册中发送一条通知,报告自己存活状态
7     lease-renewal-interval-in-seconds: 30
8     #服务服务失效时间,默认90s 等待90s后注册中心为收到心跳认为此服务宕机,剔除服务列表
9     lease-expiration-duration-in-seconds: 90

2、服务端:

  失效剔除、自我保护 

1 eureka:
2  server:
3     #自我保护模式默认是自动开启的,可以选择关闭,禁用自我保护模式,保证不可用的服务及时剔除
4     enable-self-preservation: false
5     #剔除失效服务间隔单位ms,默认60s
6     eviction-interval-timer-in-ms: 20000
7     #留存的服务示例低于多少比例进入保护模式,默认85%
8     renewal-percent-threshold: 0.5
原文地址:https://www.cnblogs.com/lxn0216/p/14097940.html