Spring Cloud负载均衡:使用Feign作客户端负载均衡

有了一篇服务端负载均衡后,再来一篇客户端负载均衡,客户端负载均衡很简单,无需在zuul中做多余配置(本示例不引入zuul),只需要在客户端进行Feign引入和配置即可。

准备工作很简单,实现客户端负载均衡,首先需要Feign组件。

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

在client启动类中添加EnableFeignClients属性,代码如下:

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(ClientApplication.class, args);
    }

}

然后编写一个调用,示例代码如下:

@FeignClient(value = "${service.request.name}", fallback = helloHystrix.class)
public interface hello extends BaseService{
    @RequestMapping(method = RequestMethod.GET, value = path + "/index/hello")
    String hello();
}

然后,在eureka中注册相关服务提供者和调用者,如下图所示:

在本地输入调用地址:http://localhost:8004/index/hello,结果如下:

最终在Feign的加持下,实现客户端负载均衡(原理略)
over.

原文地址:https://www.cnblogs.com/jizhong/p/11438456.html

时间: 2024-12-29 17:08:04

Spring Cloud负载均衡:使用Feign作客户端负载均衡的相关文章

Spring Cloud(十四):Ribbon实现客户端负载均衡及其实现原理介绍

年后到现在一直很忙,都没什么时间记录东西了,其实之前工作中积累了很多知识点,一直都堆在备忘录里,只是因为近几个月经历了一些事情,没有太多的经历来写了,但是一些重要的东西,我还是希望能坚持记录下来.正好最近公司用到了一些本篇文章的知识点,所以就抽空记录一下. 本文代码github地址:https://github.com/shaweiwei/RibbonTest/tree/master 简介 ribbon 是一个客户端负载均衡器,它和nginx的负载均衡相比,区别是一个是客户端负载均衡,一个是服务

Spring Cloud 学习——6.zuul实现路由、负载均衡、安全验证

1.前言 在一个大微服务架构的系统中,可能存在着很多服务,如果将这些服务全部对外暴露,会带来很多问题.比如安全问题,有些核心服务直接对外暴露很容易被攻击:比如身份验证问题,有些接口服务是要求登录的,如果各种服务各自对外暴露,那么这些要求登录的请求第一个触达的服务模块都要向“用户服务模块”查询鉴权结果,这样既对“用户服务模块”造成额外压力,也增加了这些其它服务模块的开发成本,所以应该考虑将身份验证的事情交到网关模块中直接完成:比如运维难度和成本问题,如果每一种服务都各自对外暴露,那么整个系统就需要

(二)Spring Cloud教程——Ribbon 和 Feign(F版本)

参考自:方志朋的专栏 1. Ribbon 1.1 Ribbon简介 Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现.通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用.Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心.配置中心.API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中

Spring Cloud 学习——5.使用 feign 的 hystrix 支持

1.前言 hystrix 是一个微服务系统的断路器组件,上文介绍了 spring cloud 通过 netfix hystrix 提供对 hystrix 的支持.同时 spring cloud 也提供了 openfeign 的支持, 而 openfeign 本身就已经内置了 hystrix 支持.所以本文介绍一个使用 openfeign 内置 hystrix 的简单示例. 前文链接: Spring Cloud 学习——3.openfeign实现声明式服务调用 Spring Cloud 学习——4

spring Cloud中,解决Feign/Ribbon整合Hystrix第一次请求失败的问题?

Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题,要如何解决该问题呢? 造成该问题的原因 Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fallback代码.而首次请求往往会比较慢(因为Spring的懒加载机制,要实例化一些类),这个响应时间可能就大于1秒了.知道原因后,我们来总结一下解决方法.解决方案有三种,以feign为例. 方法一 1 hystrix.command.default.execution.iso

spring cloud (四) 请求熔断 feign

1 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM

Ribbon使用及其客户端负载均衡实现原理分析

1.ribbon负载均衡测试 (1)consumer工程添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>com.squareup

Spring Cloud Ribbon

Spring Cloud Ribbon:负载均衡的服务调用 前言 什么是Ribbon? Spring Cloud Ribbon是一套实现客户端负载均衡的工具,注意是客户端,当然也有服务端的负载均衡工具,如Ngnix,可以认为Ribbon就是一个负载均衡(Load Balancer).负载均衡就是将用户的请求平摊的分配到多个服务器,从而达到系统的高可用. 简单来说,Ribbon的主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起. 在微服务架构中,很多服务都会部署多个,

第四章 客户端负载均衡:Spring Cloud Ribbon

Spring Cloud R巾bon 是一个基于 HTTP 和 TCP 的客户端负载均衡工具,它基于 NetflixRibbon 实现. 通过 Spring Cloud 的封装, 可以让我们轻松地将面向服务的 REST 模板请求自动转换成客户端负载均衡的服务调用 客户端负载均衡 我们通常所说的负载均衡都指的是服务端负载均衡, 其中分为硬件负载均衡和软件负载均衡. 硬件负载均衡主要通过在服务器节点之间安装专门用于负载均衡的设备,比如 F5 等:而软件负载均衡则是通过在服务器上安装一些具有均衡负载功