SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

1. 此篇文章简介

在SpringCloud框架下,通过集成微服务注册中心Eureka,将服务提供者都注册到中心。但是,作为消费者如果需要调用提供者的服务,并且能够更具一定的负载均衡的策略来调用,那么就需要集成一个消费者的框架来处理,此篇文章就是着重讲解其中一种消费者框架Ribbon。

2. SpringCloud集成Ribbon调用提供者的核心步骤简介

(1)创建注册中心的基础工程

(2)创建注册中心的启动类

(3)配置注册中心

(4)创建两个服务提供者步骤如下:

(4-1)创建服务提供者的基础工程

(4-2)配置服务提供者

(4-3)创建提供者的rest服务

(4-4)创建服务提供者的启动类

(5)创建基于Ribbon的消费者的基础工程

(6)配置消费者

(7)创建消费者中调用提供者的rest服务

(8)创建消费者的启动类

3. 以上8步的详细解释:

(1)创建注册中心的基础工程

1)基于maven创建基础工程,命名为:springcloudeurekaserver

2)配置pom.xml

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

(2)创建注册中心的启动类

该启动类是作为微服务的注册中心来创建的,具体的代码如下:

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

(3)配置注册中心

在application.yml配置文件中配置注册中心的相关属性,具体如下:

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

核心参数解释如下:

1)该工程虽然是作为注册中心来启动的,但是如果不进行配置约束,它自身会作为客户端将自己注册到注册中心中,这其实是没必要的,控制的方法是,将如下两个参数配置为false:

registerWithEureka: false

fetchRegistry: false

(4)创建两个服务提供者步骤如下:

(4-1)创建服务提供者的基础工程

1)基于maven创建服务提供者的基础工程,两个工程分别命名为:

springcloudeurekaprovider springcloudeurekaprovider2

2)配置pom.xml,核心配置如下:

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

(4-2)配置服务提供者

在application.yml文件中配置服务提供者的相关参数:

工程springcloudeurekaprovider的配置参数:

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

工程springcloudeurekaprovider2的配置参数:

将其中的port改为8124即可

(4-3)配置服务提供者

创建一个简单的rest服务,供测试使用

工程springcloudeurekaprovider的控制器类:

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

工程springcloudeurekaprovider2的控制器类:

基本和以上代码一直,就是将代码里边的ereka provider 1 改为ereka provider 2即可

(4-4)创建服务提供者的启动类

此启动类就是将该工程的提供的微服务注册到注册中心,供客户端调用。

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

(5)创建基于Ribbon的消费者的基础工程

1)基于maven创建基础工程,命名为:springcloudribbonconsumer

2)配置pom.xml

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

(6)配置消费者

在application.yml文件中配置如下:

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

(7)创建消费者中调用提供者的rest服务

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

(8)创建消费者的启动类

SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon


SpringCloud学习(二):框架中集成负载均衡调度框架Ribbon

相关推荐