上一篇文章初步体验了 Eureka 的基本使用,讲了关于服务的注册与发现。这一篇主要讲解基于 Ribbon 实现的服务调用。
(一)简介
Spring Cloud Ribbon 是一个基于 Http 和 TCP 的客服端负载均衡工具,它是基于 Netflix Ribbon 实现的。
客户端负载均衡即是当浏览器向后台发出请求的时候,客户端会向 Eureka Server 读取注册到服务器的可用服务信息列表,然后根据设定的负载均衡策略(没有设置即用默认的),抉择出向哪台服务器发送请求。
(二)搭建服务环境
1. 基于上一篇的工程,启动 eureka-service,spring-demo-service
启动完毕后,更改 spring-demo-service 的端口号,再启动一个 spring-demo-service 的实例,访问 http://localhost:8761,如下
spring-demo-service 在 eureka server 注册了两个实例。
2. 新创建一个 module(spring-demo-service-ribbon),创建过程参考上一篇
3. 添加 pom 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<