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

相關文章
相關標籤/搜索