天天看點

eureka 服務消費實作

一、搭建eureka服務注冊中心

參考https://editor.csdn.net/md/?articleId=113972198搭建。

二、搭建一個項目作為服務提供者

1、pom內建eureka-client(若要實作負載均衡,莫再加入ribbon,Eureka内部已經內建了ribbon,是以我們直接使用就可以,否則通過服務名調用将失敗)

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

2、application類加注解@EnableDiscoveryClient(ps:該注解已經不需要)

eureka 服務消費實作

3、application.properties配置

eureka 服務消費實作

服務提供者啟動後,服務注冊中心将識别到提供者的IP

eureka 服務消費實作

4、對外提供接口

eureka 服務消費實作

三、搭建一個項目作為服務消費者,去調用服務提供者接口

1、pom內建eureka-client

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

2、application類加注解@EnableDiscoveryClient(ps:該注解已經不需要),并配置具備負載均衡調用的RestTemplate(負載均衡使用Spring Cloud LoadBalance,不要去內建ribbon,Netflix相關插件已進入維護,不再開發新特性)。

eureka 服務消費實作

3、服務提供者和消費者eureka.client.service-url.defaultZone必須保持一緻。

eureka 服務消費實作

4、在controller中通過服務名調用服務提供者的接口

eureka 服務消費實作

ps:

從Spring Cloud 3.0.1開始,@EnableDiscoveryClient 或@EnableEurekaClient 可省略(@EnableCircuitBreaker斷路器注解也可以不需要)。隻需加上相關依賴,并進行相應配置,即可将微服務注冊到服務發現元件上。

由于在實際項目中,我們可能希望實作“不同環境不同配置”的效果——例如:在開發環境中,不注冊到Eureka Server上,而是服務提供者、服務消費者直連,便于調測;在生産環境中,我們又希望能夠享受服務發現的優勢——服務消費者無需知道服務提供者的絕對位址。為适應該需求,Spring Cloud Commons進行了改進。

如不想将服務注冊到Eureka Server,隻需設定spring.cloud.service-registry.auto-registration.enabled=false ,或@EnableDiscoveryClient(autoRegister = false) 即可。

繼續閱讀