1. 程式人生 > >SpringCloud-Eureka服務註冊與發現(二)

SpringCloud-Eureka服務註冊與發現(二)

背景:

傳統的服務之間的呼叫是客戶端直接向服務端傳送請求,在單機服務時代,服務並不是很多時,服務之間直接呼叫並不存在很大問題,但隨著微服務架構的興起,服務之間的呼叫越來越頻繁,再像以前一樣服務間直接呼叫,耦合性太大,並不利用維護服務,所以Eureka 應運而生,它將所有服務納入到自己的服務中心,當服務呼叫另一服務時,並不直接呼叫該服務,而是向Eureka 傳送呼叫請求,接收到Eureka 返回的服務端ip等資訊時,再去呼叫服務端。

關係調用說明:

  • 服務生產者啟動時,向服務註冊中心註冊自己提供的服務
  • 服務消費者啟動時,在服務註冊中心訂閱自己所需要的服務
  • 註冊中心返回服務提供者的地址資訊個消費者
  • 消費者從提供者中呼叫服務



Eureka 服務端建立步驟:

①加入maven依賴 <!-- 引入eureka-server 服務端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId> spring-cloud-starter-eureka-server </artifactId> </dependency>
②在application.yml配置檔案中加入相關配置
server: port: 7001
eureka: instance: hostname: localhost #eureka服務端的例項名稱 client: register-with-eureka: false # false表示不向註冊中心註冊自己,預設 為true fetch-registry: false # false表示自己端就是註冊中心,我的職責就是 維護服務例項,並不需要去檢索服務 service-url: defaultZone:
http://${eureka.instance.hostname}:${server.port}/eureka/ # 對外暴露介面地址
③在啟動類加入@EnableEurekaServer註解,宣告該服務為EurekaServer 服務
④測試Eureka服務是否成功,輸入本機地址與埠號訪問,出現下面介面 說明Eureka註冊中心啟動成功

Eureka 客戶端建立步驟:

①在maven中加入Eureka相關配置
<!-- 將微服務注入到Eureka --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>

②在yml配置檔案中加入Eureka對外提供的暴露介面
# 將本服務註冊到Eureka中 eureka: client: service-url: defaultZone: http://localhost:7001/eureka # Eureka對外暴露的地址



③在啟動類中加入註解@EnableEurekaClient,以便啟動服務時將本服務註冊 到Eureka註冊中心中
④測試本服務是否已經成功注入到Eureka註冊中心中,若有以下情況出現時, 則說明註冊成功


補充:Eureka中名字大寫是因為Eureka會將所有微服務的小寫名字變成大寫 每個微服務都可以向外提供一個服務名,所以Eureka中的名稱就是該服務自己命名的名字