天天看點

【Spring Cloud】分布式必學springcloud(三)——高可用Eureka一、前言二、高可用Eureka

一、前言

      在上一篇部落格中,小編向大家介紹了springcloud的注冊中心——Eureka,在微服務這種分布式架構下,我們需要充分考慮故障的發生,是以要保證每個節點都要是高可用的。對微服務是這樣的,同樣注冊中心也不能是單節點的。要保證高可用,是以也要對注冊中心搭建叢集。

二、高可用Eureka

      Eureka的高可用其實就是将自己作為服務向其他注冊中心注冊自己,這樣形成一個互相注冊的注冊中心叢集,達到高可用。

      下面我們搭建兩台互相注冊的注冊中心叢集。

      借鑒前面搭建的Eureka,這裡我們搭建兩台,修改配置檔案:

      EurekaServer1的配置檔案:注冊到2上

server:
  port: 
spring:
  application:
    name: eurekaserver


eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://peer2:2222/eureka/
           

      EurekaServer2的配置檔案:注冊到1上

server:
  port: 
spring:
  application:
    name: eurekaserver


eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1:1111/eureka/
           

      注意:因為我們代碼中寫的是peer1和peer2,這些是服務的名字,在電腦上預設沒有這個名字,是以需要進行配置,否則讀不出伺服器。

  • Linux 需要再/etc/hosts檔案對peer1和peer2進行轉換;
  • windows 需要C:\Windows\System32\drivers\etc 下的hosts檔案進行轉換
【Spring Cloud】分布式必學springcloud(三)——高可用Eureka一、前言二、高可用Eureka

      提供者配置檔案修改:

server:
  port: 
eureka:
  client:
    serviceUrl:
      defaultZone: http://peer1:1111/eureka/,http//peer2:2222/eureka/
spring:
  application:
    name: clientb

           

提供者的配置檔案中添加了所有的注冊中心。

      下面我們啟動所有的注冊中心和提供者:

      注冊中心 http://localhost:1111/:

【Spring Cloud】分布式必學springcloud(三)——高可用Eureka一、前言二、高可用Eureka

      注冊中心 http://localhost:2222/ :

【Spring Cloud】分布式必學springcloud(三)——高可用Eureka一、前言二、高可用Eureka

           。從圖中我們可以看出,提供者同時候注冊到了注冊中心1和注冊中心2上,然後我們把注冊中心二關閉後,發現提供者依舊在注冊中心1上達到了高可用的狀态。

#三,小結< font size = 3 >&nbsp; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;高可用是分布式微服務中非常看重的,是以設計還是要不錯的,這個要有高可用的思想,多多使用。

繼續閱讀