本文主要介绍在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