本文主要介绍在SpringCloudAlibaba和Nacos微服务框架下,使用openfeign的FeignClient实现客户端负载均衡的效果。关于服务提供者和服务消费者的程序请直接查阅这篇文章。基于SpringCloudAlibaba和Nacos构建微服务入门实例java
Feign is a Java to HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. Feign's first goal was reducing the complexity of binding Denominator uniformly to HTTP APIs regardless of ReSTfulness.git
将基于SpringCloudAlibaba和Nacos构建微服务入门实例中的服务提供者程序打包输出:myclouds-nacos-discovery-provider-example-3.0.0.jar。github
启动2个服务提供者实例spring
java -jar myclouds-nacos-discovery-provider-example-3.0.0.jar --server.port=18000 java -jar myclouds-nacos-discovery-provider-example-3.0.0.jar --server.port=18001
将基于SpringCloudAlibaba和Nacos构建微服务入门实例中的服务提供者程序打包输出:myclouds-nacos-discovery-consumer-example-3.0.0.jar。bash
java -jar myclouds-nacos-discovery-consumer-example-3.0.0.jar --server.port=18000
请求http://127.0.0.1:19000/bankcard/findCardInfo?cardNo=5301001,查看服务提供者控制台。负载均衡
springcloudalibaba下feignclient的负载均衡实现也是依赖netflix-ribbon。在spring-cloud-starter-alibaba-nacos-discovery pom中对其进行了依赖spring-cloud-starter-netflix-ribbon。框架
完整实例代码请访问个人myclouds代码仓库。https://gitee.com/osworks/mycloudsless