1. 程式人生 > >Spring Cloud ---- 服務註冊與發現(Eureka 找到了!找到了! 嘻嘻)

Spring Cloud ---- 服務註冊與發現(Eureka 找到了!找到了! 嘻嘻)

  記錄一下吧,為什麼接觸分散式。因為裸辭之後沒有找到工作,好的公司都要求有分散式經驗,但是我完全沒有。在一次面試的時候,面試官說如果你會分散式架構的話,我可以把工資給你開高2.5,我就考慮著給我點時間,讓我學習這個狗東西。一個月後看學習效果再看我能不能拿到多了2.5的工資,面試官也就答應了。分散式之路就此開始。

  首先分散式的基礎應該就是服務的註冊和發現了吧,目前只是瞭解了Eureka作為服務註冊和發現的元件,採用Spring Boot(簡稱SB) 和Spring Cloud(簡稱SC,後面統一使用簡稱)。

  服務的註冊與發現功能的實現這裡採用Eurake元件吧,手寫Demo,這裡採用父子工程的形式,採用Maven繼承(記錄一下,現在我對這玩意還不是太理解,後續專門做一篇進行解讀)的方式對專案的SB和SC整合和依賴的jar包的版本進行管理。主要依賴的jar包是

spring-cloud-starter-netflix-eureka-server ,包匯入完成就在SB專案的主方法新增@EnableEurakeServer 註解 

Eurake元件的後端是沒有快取的,所以註冊物件與註冊中心之間需要傳送心跳,預設情況下

Eurake Server 也是一個Eurake Client,所以必須在配置檔案中指定一個server。application.properties

server:
  port: 8889 #註冊中心開啟的埠

eureka:
  instance:
    hostname: localhost #註冊地址
  client:
    registerWithEureka: 
false #宣告Eurake以server的方式建立 fetchRegistry: false serviceUrl: #圖形化介面地址 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

這時候啟動專案,服務註冊中心就建立完成了。

  接下來建立服務提供者,與服務註冊中心依賴的jar包基本是一樣的,不過這個是以client結尾的

spring-cloud-starter-netflix-eureka-client, 服務提供者與消費者都是 client,註冊中心才是 server,這個要搞清楚。

  在啟動類上新增@EnableEurekaClient註解實現,在服務提供者服務的配置檔案做修改,

1 spring.application.name=config-server #服務名
2 server.port=8888  #服務埠
3 #註冊中心地址
4 eureka.client.serviceUrl.defaultZone=http://localhost:8889/eureka/

剩下就是在服務上新增對應的請求方法,進行請求傳送

http://localhost:8888/hi?name=forezp