【Spring Cloud】分佈式必學springcloud(三)——高可用Eureka

一、前言

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

二、高可用Eureka

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

      下面我們搭建兩臺互相註冊的註冊中心集羣。

      借鑑前面搭建的Eureka,這裏我們搭建兩臺,修改配置文件:

      EurekaServer1的配置文件:註冊到2上

server:
  port: 1111
spring:
  application:
    name: eurekaserver


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

      EurekaServer2的配置文件:註冊到1上


server:
  port: 2222
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文件進行轉換

這裏寫圖片描述

      提供者配置文件修改:

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

提供者的配置文件中添加了所有的註冊中心。

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

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

這裏寫圖片描述

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

這裏寫圖片描述

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

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

發佈了353 篇原創文章 · 獲贊 367 · 訪問量 143萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章