eureka集群

一、eureka集群的目的

    eureka做为注册中心,单点存在风险,若是挂了,就会找不到服务了。spring

二、euerka server

    咱们以三个节点为例,application.yml配置以下app

---
spring:
  profiles: peer1
eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://peer1/eureka/,http://peer2/eureka/

---
spring:
  profiles: peer2
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1/eureka/,http://peer3/eureka/

---
spring:
  profiles: peer3
eureka:
  instance:
    hostname: peer3
  client:
    serviceUrl:
      defaultZone: http://peer1/eureka/,http://peer2/eureka/

    此时访问peer1的注册中心:http://peer1/。registered-replicas中已经有peer二、peer3节点的eureka-server了。url

    一样地,访问peer2的注册中心:http://peer2/,registered-replicas中已经有peer一、peer3节点,而且这些节点在可用分片(available-replicase)之中。spa

    咱们也能够尝试关闭peer1,刷新http://peer2/,peer1的节点变为了避免可用分片(unavailable-replicas)。code

    注意:server

    两两注册的方式能够实现集群中节点彻底对等的效果,实现最高可用性集群,任何一台注册中心故障都不会影响服务的注册与发现。同步

三、eureka client

server:
  port: 8080
spring:
  application:
    name: eureka-ha-demo
eureka:
  client:
    service-url:
      defaultZone: http://peer1/eureka,http://peer2/eureka,http://peer3/eureka

或者io

server:
  port: 8080
spring:
  application:
    name: eureka-ha-demo
eureka:
  client:
    service-url:
      defaultZone: http://peer1/eureka

    client端只链接一个peer1,也会把注册信息同步到peer二、peer3中的。集群

     由于Eureka Server的同步遵循着一个很是简单的原则:只要有一条边将节点链接,就能够进行信息传播与同步。cli

相关文章
相关标签/搜索