1. 程式人生 > >SpringCloud學習筆記(一):搭建Eureka服務和叢集

SpringCloud學習筆記(一):搭建Eureka服務和叢集

環境版本:Springboot:2.1.0

                  Springcloud:Finchley.SR2

(一)搭建eureka服務註冊中心

1、建立springboot專案

      建立springboot專案直接在官網https://start.spring.io生成,可以自由新增依賴項,web、eureka等等。

2、將新增web和eureka依賴的專案匯入idea

      將@EnableEurekaServer註解新增在application之上,表示啟動一個服務註冊中心。

在配置檔案中新增相關配置,如:

這裡我用的是yml格式的配置檔案,properties就不贅述了。

完成後可以再瀏覽器輸入:http://localhost:9992/可以看到eureka資訊面板,如下:

(二)註冊服務提供者

1、新建一個springboot專案並新增web和eureka依賴,同上。

2、建立一個controller,如:

注意相關依賴,當時我從網上搜索的教程大多都是用 ServiceInstance instance = discoveryClient.getLocalServiceInstance();來獲取本地服務例項,但這個方法已經過時了,不推薦使用,可以用getServices()和getInstances(id)來迴圈列印。

3、在啟動類中新增@EnableEurekaClient註解,標註為服務提供者。

4、最後,在配置檔案中新增相關配置:

啟動專案後,註冊中心的控制面板上顯示服務註冊資訊:

(三)eureka高可用註冊中心

1、新建立兩個配置檔案:application-peer1.yml和application-peer2.yml,並新增相關配置:

application-peer1.yml配置如下:

application-peer2.yml配置如下:

因為要在對方的註冊中心把自己當做服務註冊進去,所以要將eureka.client.register-with-eureka和eureka.client.fetch-registry設定為true

最後要在hosts檔案中新增peer1和peer2的本地對映

有時候對映不會馬上生效,清一下dns快取就可以了。

2、啟動peer1和peer2。

我用的是idea來啟動,可以再idea中分別配置:

將紅框中的引數分別設為peer1和peer2,然後分別啟動兩個服務。啟動的時候可能會報錯:

類似此種,是因為指向的服務還沒有啟動,等兩個都啟動起來就可以了。

3、分別訪問 peer1:9992和peer2:9993,在兩個註冊中心分別可以看到兩個節點資訊。

PS:這是最近學習SpringCloud的筆記,有不對的地方望大佬指正。