從零開始搭建spring-cloud(2) ----ribbon
阿新 • • 發佈:2019-06-27
在微服務架構中,業務都會被拆分成一個獨立的服務,服務與服務的通訊是基於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。不需要我