eureka-client
當構建了服務發現組件,微服務如何註冊到服務發現組件?當構建了eureka集羣,如何保持eureka-server之間註冊表的一致?這都涉及到了eureka-client(eureka客戶端)。eureka-client的作用往eureka-server註冊信息,從eureka-server裏獲取註冊表信息等。
如果這有些不好理解的話,我們可以這麼說。在先前說到單體部署Eureka服務的時候,說eureka-server就是一個消息販子。那麼eureka-client就是一個手機。微服務擁有一個手機,它告訴消息販子自己的姓名和聯繫方式,告訴eureka-server,如果有人拿着它(eureka-client)的名字來找它(eureka-server),那麼就把它(eureka-client)的位置說出去。這就是註冊。當然,微服務也可以通過電話,來從消息販子(eureka-server)那裏獲取到其他的微服務的聯繫方式。而且厲害的是,這個手機(eureka-client)還有保存從消息販子獲取的其他微服務的聯繫方式的功能,這樣子下次想要再次找那個微服務,也就不用老是去問消息販子了,畢竟電話費是要錢的。
這麼一說,這個手機(eureka-client)至關重要,沒有手機,也就沒有微服務可以聯繫上消息販子(eureka-server),當然消息販子也就不能提供任何的消息了。
那麼一個微服務如何去購買一臺這樣可以跟消息販子聯繫的手機呢?
實現eureka客戶端
添加eureka-client的依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
給EurekaClientApplication添加註解@EnableEurekaClient
package com.wangguitang.freedom.study.spring.cloud.eureka.client; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } }
在配置文件application.yml中添加配置
server: port: 8080 spring: application: name: eureka-client eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka
啓動Eureka-client
- 右鍵類EurekaClientApplication,選中Run As–>Spring Boot App