Spring Cloud 實戰一:服務註冊中心

Mr_初晨發表於2019-05-06
Hello大家好,我是初晨,本章我們學習SpringCloud Eureka的使用。大家有問題和意見可以發郵箱mr_beany@163.com

一:SpringCloud Eureka

  • SpringCloud Eureka是基於Netflix Eureka的二次封裝
  • 分為兩個部分:1.註冊中心;2.服務註冊

二:搭建Eureka Server

1:建立基礎框架

建立SpringCloud專案基本步驟與SpringBoot基本相同。

建立參考下面組圖,需要注意的點以用紅色塊標註

Spring Cloud 實戰一:服務註冊中心

Spring Cloud 實戰一:服務註冊中心

Spring Cloud 實戰一:服務註冊中心

Spring Cloud 實戰一:服務註冊中心

建立好後目錄如下:

Spring Cloud 實戰一:服務註冊中心

別忘了重新整理pom.xml檔案來下載所需jar包。

步驟:右鍵pom檔案,選擇Maven→Reimport

2:新增配置

在啟動類上加上註解:@EnableEurekaServer

該註解表示這個專案是eureka註冊中心

Spring Cloud 實戰一:服務註冊中心

3:啟動專案

啟動專案之後,訪問localhost:8080可以看到如下介面代表建立成功

Spring Cloud 實戰一:服務註冊中心

4:處理專案報錯

這時細心的小夥伴可能會發現,雖然我們已經啟動成功,但是控制檯會持續報錯,這是什麼原因呢?

Spring Cloud 實戰一:服務註冊中心

這是由於Eureka本身不但是個註冊端,還是個服務端,這時他會以輪詢的方式進行尋找註冊端將自己註冊上去,為了阻止他報錯,我們來新增配置將註冊地址指向他自己本身

修改配置檔案字尾。我們使用.yml格式的配置檔案,新增如下配置

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8080/eureka/ 複製程式碼

再次啟動我們發現他仍然報錯

Spring Cloud 實戰一:服務註冊中心

這時由於eureka在專案還未啟動完畢時就嘗試著往配置中的localhost:8080/eureka/中註冊,那此時專案尚未啟動成功,自然會報錯。等待專案啟動結束後就不會報錯。

再次訪問localhost:8080

Spring Cloud 實戰一:服務註冊中心

我們發現服務已經註冊成功,但是服務名稱並沒有顯示。所以我們新增如下配置:

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8080/eureka/
spring:
  application:
    name: eureka 複製程式碼

再次啟動訪問

Spring Cloud 實戰一:服務註冊中心

 ok,已經註冊成功,服務名也已經正確顯示,但是呢,我們eureka服務本身功能就是註冊中心,不應該出現在Instances currently registered with Eureka下面,所以我們新增如下配置:

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8080/eureka/
    register-with-eureka: false
spring:
  application:
    name: eureka複製程式碼

再次啟動訪問:

Spring Cloud 實戰一:服務註冊中心

ok,成功!

5:修改IP

Spring Cloud 實戰一:服務註冊中心

Spring Cloud 實戰一:服務註冊中心

將ip地址改為Eureka的預設ip地址8761

-Dserver.port=8761複製程式碼

再次啟動訪問http://localhost:8761/

Spring Cloud 實戰一:服務註冊中心

三:結尾

感謝大家支援,應用中心接下來陸續更新,感謝大家。

對於springBoot還不瞭解的朋友可以看我的SpringBoot系列教程


相關文章