SpringCloud旨在構建一套尺度化的微辦事解決方案,供給了很是多的組件供用戶選擇。SpringCloud是在SpringBoot的根本上實現的開辟東西,供給設置裝備擺設辦事治理的微辦事注冊中間、網關、斷路器等功能。在springcloud框架搭建過程中我們需要在父pom中引入spring-boot-starter-parent和spring-cloud-dependencies用來節制引入的springboot和spring cloud的版本號。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Edgware.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
SpringCloud的辦事治理組件Eureka,包含辦事注冊中間、辦事注冊與發現機制。Eureka組件既有辦事端也有客戶端,辦事端需要零丁另起一個辦事,需要添加的依靠是:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
Eureka客戶端的依靠是:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
Hystrix是容錯辦理組件,實現斷路器功能,為辦事中存在的延遲和故障供給更壯大的容錯能力,需要添加的依靠如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId
</dependency>
經由過程利用注解@HystrixCommand對接口進行熔斷和降級處置。
Ribbon是客戶端負載平衡的辦事挪用組件,Feign是基于Ribbon和Hystrix的聲明式辦事挪用組件。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
Ribbon實現負載平衡需要如下的Bean的設置裝備擺設:
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
Zuul網關組件,供給智能路由、拜候過濾等功能。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
zuul也需要零丁起一個辦事。而且zuul需要注冊到Eureka,zuul的設置裝備擺設如下:
別的,利用SpringCloud的這些組件,需要在啟動類中添加如下的設置裝備擺設:
@EnableDiscoveryClient
@EnableScheduling
@EnableCircuitBreaker
@SpringBootApplication
END0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!