Spring Cloud - Eureka

云端服務發(fā)現(xiàn),一個基于 REST 的服務,用于定位服務,以實現(xiàn)云端中間層服務發(fā)現(xiàn)和故障轉移。

Eureka實行集群部署,更具高可用性。

創(chuàng)建Eureka Server工程

通過Intellij IDEA創(chuàng)建SpringBoot工程。New Project ->Spring Initializr -> 填寫name和group ->勾選Eureka Server ...完成之后,會發(fā)現(xiàn)pom.xml存在這樣的依賴

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

編輯application.yml

這里將要搭建3個節(jié)點組成的服務中心


Registry Center.png

其實,這是一個默認行為,所以只需要為對方添加上有效的serviceUrl即可。具體配置如下:

---
spring:
  application:
    name: eureka-servers
  profiles: peer1
server:
  port: 8000
eureka:
  instance:
    hostname: peer1
  client:
    serviceUrl:
      defaultZone: http://peer2:7999/eureka/,http://peer3:7998/eureka/

---
spring:
  application:
    name: eureka-servers
  profiles: peer2
server:
  port: 7999
eureka:
  instance:
    hostname: peer2
  client:
    serviceUrl:
      defaultZone: http://peer1:8000/eureka/,http://peer3:7998/eureka/

---
spring:
  application:
    name: eureka-servers
  profiles: peer3
server:
  port: 7998
eureka:
  instance:
    hostname: peer3
  client:
    serviceUrl:
      defaultZone: http://peer1:8000/eureka/,http://peer2:7999/eureka/

這里面需要修改/etc/hosts,添加peer1、2、3的解析。

運行

這里要運行3個實例。通過IDEA運行需要注意下面兩點:

  • 反選Signle instance only,使得可以運行多個實例(對于同一個工程)
  • Active Profiles,可以指定啟動某個配置的實例


    idea 配置.png

效果

結果.png
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容