服務器健壯是非常重要的,
但是有很多種原因可能會導致服務註冊中心
宕機,如果宕機就會有一些災難性的問題出現,所以保證服務註冊中心
處於活着運行狀態
顯得尤爲重要!!!
我們必須保證,哪怕某些服務器宕機了我們的服務任然可以正常運行,所以必須保證高可用
下面我們來搭建一個高可用的服務器集羣
把以前的代碼複製一份,再把服務註冊中心複製一下,讓我們有2個服務註冊中心,結構如下
如果你還不會搭建服務註冊中心:eureka服務註冊中心
如果你還不會搭建負載均衡:ribbon負載均衡
修改一下服務註冊中心的配置文件
eureka.server.peer-node-read-timeout-ms 服務器相互拉取超時時間,單位毫秒
從圖中可以看出,我們自己也往外註冊,但是並不註冊到服務,而是到端口號爲8010的服務,而8010則註冊到8002
其他的配置都是一樣的,我們把兩個服務註冊中心都啓動一下
從圖中可以看到這樣我們就有2個服務註冊中心
我們在修改一下複製均衡的配置文件
在這裏我們分別向兩個服務註冊中心註冊服務
雖然哪怕我們只往其中一個註冊,服務註冊中心也會相互拉取服務,但是自動拉取有點小bug,有時候拉取不成功,所以我們還是手動註冊比較保險
我們在修改一下我們的客戶機(消費者)的配置文件
分別啓動一下負載均衡和客戶機
我們來訪問一下之前的接口
現在我們把其中一個服務註冊中心停止了(假設宕機)
在測試一下接口
發現我們的接口不受影響
o(*≧▽≦)ツ┏━┓
o(*≧▽≦)ツ┏━┓
o(*≧▽≦)ツ┏━┓