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的本地對映
2、啟動peer1和peer2。
我用的是idea來啟動,可以再idea中分別配置:
將紅框中的引數分別設為peer1和peer2,然後分別啟動兩個服務。啟動的時候可能會報錯:
類似此種,是因為指向的服務還沒有啟動,等兩個都啟動起來就可以了。
3、分別訪問 peer1:9992和peer2:9993,在兩個註冊中心分別可以看到兩個節點資訊。
PS:這是最近學習SpringCloud的筆記,有不對的地方望大佬指正。