一、搭建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:該注解已經不需要)
3、application.properties配置
服務提供者啟動後,服務注冊中心将識别到提供者的IP
4、對外提供接口
三、搭建一個項目作為服務消費者,去調用服務提供者接口
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相關插件已進入維護,不再開發新特性)。
3、服務提供者和消費者eureka.client.service-url.defaultZone必須保持一緻。
4、在controller中通過服務名調用服務提供者的接口
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) 即可。