1. 程式人生 > >從零開始搭建spring-cloud(2) ----ribbon

從零開始搭建spring-cloud(2) ----ribbon

在微服務架構中,業務都會被拆分成一個獨立的服務,服務與服務的通訊是基於http restful的。Spring cloud有兩種服務呼叫方式,一種是ribbon+restTemplate,另一種是feign。

其實我們已經在上一節中介紹了使用Eureka進行負載均衡。其實他的實現原理就是利用了Ribbon,我們當前Spring Cloud版本不需要額外的引入Ribbon,在Eureka中已經自動引入了Ribbon。Eureka的pom內容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-netflix</artifactId>
		<version>2.1.0.RELEASE</version>
	</parent>
	<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
	<name>Spring Cloud Starter Netflix Eureka Server</name>
	<description>Spring Cloud Starter Netflix Eureka Server</description>
	<url>https://projects.spring.io/spring-cloud</url>
	<organization>
		<name>Pivotal Software, Inc.</name>
		<url>https://www.spring.io</url>
	</organization>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-netflix-eureka-server</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-archaius</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
		</dependency>
		<dependency>
			<groupId>com.netflix.ribbon</groupId>
			<artifactId>ribbon-eureka</artifactId>
		</dependency>
	</dependencies>
</project>

我們可以看到Eureka已經幫我們引入了Ribbon。不需要我