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
(2)创建注册中心的启动类
该启动类是作为微服务的注册中心来创建的,具体的代码如下:
(3)配置注册中心
在application.yml配置文件中配置注册中心的相关属性,具体如下:
核心参数解释如下:
1)该工程虽然是作为注册中心来启动的,但是如果不进行配置约束,它自身会作为客户端将自己注册到注册中心中,这其实是没必要的,控制的方法是,将如下两个参数配置为false:
registerWithEureka: false
fetchRegistry: false
(4)创建两个服务提供者步骤如下:
(4-1)创建服务提供者的基础工程
1)基于maven创建服务提供者的基础工程,两个工程分别命名为:
springcloudeurekaprovider springcloudeurekaprovider2
2)配置pom.xml,核心配置如下:
(4-2)配置服务提供者
在application.yml文件中配置服务提供者的相关参数:
工程springcloudeurekaprovider的配置参数:
工程springcloudeurekaprovider2的配置参数:
将其中的port改为8124即可
(4-3)配置服务提供者
创建一个简单的rest服务,供测试使用
工程springcloudeurekaprovider的控制器类:
工程springcloudeurekaprovider2的控制器类:
基本和以上代码一直,就是将代码里边的ereka provider 1 改为ereka provider 2即可
(4-4)创建服务提供者的启动类
此启动类就是将该工程的提供的微服务注册到注册中心,供客户端调用。
(5)创建基于Ribbon的消费者的基础工程
1)基于maven创建基础工程,命名为:springcloudribbonconsumer
2)配置pom.xml
(6)配置消费者
在application.yml文件中配置如下:
(7)创建消费者中调用提供者的rest服务
(8)创建消费者的启动类