本文主要介绍在SpringCloudAlibaba和Nacos微服务框架下,使用openfeign的FeignClient实现客户端负载均衡的效果。关于服务提供者和服务消费者的程序请直接查阅这篇文章。基于SpringCloudAlibaba和Nacos构建微服务入门实例

OpenFeign简介

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.

打包服务提供者程序

将基于SpringCloudAlibaba和Nacos构建微服务入门实例中的服务提供者程序打包输出:myclouds-nacos-discovery-provider-example-3.0.0.jar。

启动2个服务提供者实例

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。

java -jar myclouds-nacos-discovery-consumer-example-3.0.0.jar --server.port=18000

查看Nacos服务状态

验证负载均衡效果

请求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/myclouds