您好,登錄后才能下訂單哦!
Eureka 中怎么實現服務注冊與發現,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
訪問http://start.spring.io/ 進行項目的初始化。我們將該項目命名為micro-weather-eureka-server
。
根據下面兩個博客的指引來配置,加速項目的構建。
Gradle Wrapper 引用本地的發布包 : https://waylau.com/change-gradle-wrapper-distribution-url-to-local-file/
使用Maven鏡像 : https://waylau.com/use-maven-mirrors/
為啟用 Eureka Server ,在 Application 上增加@EnableEurekaServer
注解即可。
@SpringBootApplication @EnableEurekaServer public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
修改 application.properties,增加如下配置。
server.port: 8761 eureka.instance.hostname: localhost eureka.client.registerWithEureka: false eureka.client.fetchRegistry: false eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
其中:
server.port: 指明了應用啟動的端口號
eureka.instance.hostname: 應用的主機名稱
eureka.client.registerWithEureka: 值為false
意味著自身僅作為服務器,不作為客戶端
eureka.client.fetchRegistry: 值為false
意味著無需注冊自身
eureka.client.serviceUrl.defaultZone: 指明了應用的URL
啟動應用,訪問http://localhost:8761/,可以看到 Eureka Server 自帶的 UI 管理界面。
我們在micro-weather-eureka-server
基礎上,將創建一個micro-weather-eureka-client
作為客戶端,并演示如何讓將自身向注冊服務器進行注冊,讓其可以其他服務都調用。
增加如下配置:
dependencies { //... compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client') //... }
@SpringBootApplication @EnableDiscoveryClient @RestController public class Application { @RequestMapping("/hello") public String home() { return "Hello world"; } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
其中@EnableDiscoveryClient
啟用了服務發現的功能,只要 Eureka Client 啟動了,就能被 Eureka Server 所感知。
項目配置:
spring.application.name: micro-weather-eureka-client eureka.client.serviceUrl.defaultZone: http://localhost:8761/eureka/
分別在 8081 和 8082 上啟動了客戶端示例。
java -jar micro-weather-eureka-client-1.0.0.jar --server.port=8081 java -jar micro-weather-eureka-client-1.0.0.jar --server.port=8082
可以在 Eureka Server 上看到這兩個實體的信息。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。