zhichangjianghu 2018-09-27
SpringCloud的系统框架下,如果提供多个服务提供者的时候,那么此时需要消费者能够通过策略来调度多个服务提供者,此篇文章的目的是讲解另一种消费者调度框架Feign。
(1)创建注册中心的基础工程
(2)创建注册中心的启动类
(3)配置注册中心
(4)创建两个服务提供者步骤如下:
(4-1)创建服务提供者的基础工程
(4-2)配置服务提供者
(4-3)创建提供者的rest服务
(4-4)创建服务提供者的启动类
(5)创建基于Feign的消费者的基础工程
(6)配置消费者
(7)创建消费者中调用提供者的接口和http服务
(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)创建基于Feign的消费者的基础工程
1)基于maven创建基础工程,命名为:springcloudfeignconsumer
2)配置pom.xml
(6)配置消费者
(7)创建消费者中调用提供者的接口和http服务
调用提供者的接口HelloInterface:
调用提供者的http控制器服务:
(8)创建消费者的启动类
FeignConsumerBootApplication: