eureka服務搭建


Server端

引入eureka server的maven依賴

 引入依賴時無需給定eureka的版本號,maven會根據當前使用的SpringCloud版本來判斷應該引入哪個版本的euraka server依賴 

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

 

啟動類及yml相關配置

  1. 啟動類上加@EnableEurekaServer注解
  2. yml中配置service-url、register-with-eureka: false、enable-self-preservation: false、服務名稱、port
    • service-url的值要配置給defaultZone屬性
    • register-with-eureka: false是為了不注冊服務端本身,因為該server本身就是注冊中心的服務,注冊自身是沒有意義的(eureka高可用時例外)
    • enable-self-preservation: false是為了關閉eureka的保護機制(只有在測試環境不斷重啟client的情況下才可以關閉該機制,生產環境一定要打開該機制),為了避免某些注冊到eureka server的服務不斷重啟導致在線率降低,但是還存在於eureka中(該機制原理:當某些注冊到eureka server的客戶端由於某些原因導致在線率不達標時,eureka就會警告提示,與此同時,eureka會將這些在線率低的服務當作還存活的服務,所以當某些服務真的掛掉之后,eureka上面時還會存在這些服務的url的,這是eureka的一種保護機制,為了避免調用服務的消費者能及時發現某些服務已經不可用,所以我們在實際使用中將這種機制關掉,默認是true,這里改成false)
    • spring.application.name屬性配置的服務名是服務部署后訪問的名稱,例如:該服務配置的spring.application.name值為eureka,訪問時通過http://localhost:8761/eureka/訪問。同時,如果該服務注冊至eureka,則該服務在eureka中顯示的服務名稱也為eureka

     eureka管理頁面上顯示已注冊的服務名稱如下圖:

     eureka的server端yml配置如下:

 

 

Client端

引入eureka client的maven依賴

 引入依賴時無需給定eureka的版本號,maven會根據當前使用的SpringCloud版本來判斷應該引入哪個版本的euraka server依賴 

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

 

啟動類及yml相關配置

  1. 啟動類上加@EnableDiscoveryClient注解
  2. yml中配置service-url、服務名稱
    • service-url的值要配置給defaultZone屬性,這個地方配置的時eureka服務端的url,如果服務端為高可用,則可以配置多個,中間用逗號隔開

   eureka的client端yml配置如下:

 

 

eureka高可用

高可用服務搭建

  1. 服務端起多個實例,實例與實例間兩兩互相注冊,這樣實例間就可以同步客戶端信息

   eureka的高可用yml配置如下:

  服務啟動時,需要啟動多個實例,並且實例間兩兩相互注冊,啟動命令如下:

  通過-Dserver.port=8761指定某個實例的端口號

  nohup java -Dserver.port=8761 -jar eureka-0.0.1-SNAPSHOT.jar > eureka1.log 2>&1 &

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM