Spring Cloud Alibaba - Feign
Feign
Feign简介





使用Feign实现消费者客户端




使用Feign+Ribbon实现客户端负载均衡

底层的负载均衡策略还是使用Ribbon通过Feign进行调用
Feign的相关配置
ribbon.eager-load.enabled=true
开启饥饿加载,默认是懒加载此项为false关闭状态,在调用的时候才开始获取服务列表进行负载均衡策略,所以第一次调用会比较缓慢,后面再次调用的速度会有大幅度提升。若设置为true打开状态,则从项目启动的时候就开始获取服务列表并且进行负载均衡策略,所以第一次调用并不会出现迟缓现象。
ribbon.eager-load.clients=xxxxxxxxxx
为哪些客户端开启饥饿加载,多个客户端使用逗号隔开(非必须),xxxxxxxx为客户端的服务名称。不配置的话如果配置了开启饥饿加载,则所有的客户端都开启
feign.client.config.default.read-timeout=2
设置feign读取时间为2 单位为毫秒,设置过小会出现读取超时现象
feign.client.config.default.connect-timeout=2
配置feign连接时间为2单位为毫秒,超过实现就不再连接
feign.client.config.default.logger-level=full
设置feign的日志记录等级
tips:default代表使用于所有服务
feign.client.config.[name].read-timeout=5
feign.client.config.[name].connect-timeout=5
配置具体服务的连接和读取时限,name为对应的服务名称
feign.httpclient.enabled=true
默认值也为true,代表是否使用默认的底层为Apache Http的客户端使用Feign
feign.httpclient.max-connections=200
指定客户端最大连接数
feign.httpclient.max-connections-per-route=50
指定每个路由路径的最大连接数
tips:feign的老版本底层采用的JDK的httpURLconnection发起远程调用,效率不如restTemplate,新版本效率差不多
脱离Ribbon的Feign远程调用
无负载均衡功能,只能使用远程调用

需要在@FeignClient注解中配置url属性,需要将连接地址写死。并且在接口中的方法上@GetMapping后面也不需要加路径,这样方法会自动调用url中的路径。
Feign的声明代码统一封装
实际开发时,会将有关于Feign的声明代码统一放入一个项目模块xxxxx-common中管理。实现代码复用,减少冗余。common模块中也需要引入相应的jar包依赖。
Spring Cloud Alibaba - Feign的更多相关文章
- Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)
通过<Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现>一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBal ...
- Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现
作者 | Spring Cloud Alibaba 高级开发工程师洛夜 来自公众号阿里巴巴中间件投稿 前段时间 Hystrix 宣布不再维护之后(Hystrix 停止开发...Spring Cloud ...
- Spring Cloud Alibaba Sentinel对Feign的支持
Spring Cloud Alibaba Sentinel 除了对 RestTemplate 做了支持,同样对于 Feign 也做了支持,如果我们要从 Hystrix 切换到 Sentinel 是非常 ...
- 0.9.0.RELEASE版本的spring cloud alibaba sentinel+feign降级处理实例
既然用到了feign,那么主要是针对服务消费方的降级处理.我们基于0.9.0.RELEASE版本的spring cloud alibaba nacos+feign实例添油加醋,把sentinel功能加 ...
- 0.9.0.RELEASE版本的spring cloud alibaba nacos+feign实例
这里的feign依然是原来的feign,只不过将注册中心由eureka换成了nacos.服务提供方参见0.9.0.RELEASE版本的spring cloud alibaba nacos实例,消费方跟 ...
- Spring Cloud & Alibaba 实战 | 第十二篇: 微服务整合Sentinel的流控、熔断降级,赋能拥有降级功能的Feign新技能熔断,实现熔断降级双剑合璧(JMeter模拟测试)
目录 一. Sentinel概念 1. 什么是Sentinel? 2. Sentinel功能特性 3. Sentinel VS Hystrix 二. Docker部署Sentinel Dashboar ...
- Spring Cloud Alibaba(8)---Feign服务调用
Feign服务调用 有关Spring Cloud Alibaba之前写过五篇文章,这篇也是在上面项目的基础上进行开发. Spring Cloud Alibaba(1)---入门篇 Spring Clo ...
- Spring Cloud Alibaba学习笔记(4) - Feign配置与使用
什么是Feign Feign是一个声明式Web Service客户端. 使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX- ...
- Spring Cloud Alibaba 新版本发布:众多期待内容整合打包加入!
在Nacos 1.0.0 Release之后,Spring Cloud Alibaba也终于发布了最新的版本.该版本距离上一次发布,过去了整整4个月!下面就随我一起看看,这个大家期待已久的版本都有哪些 ...
随机推荐
- SpringCloud微服务(基于Eureka+Feign+Hystrix+Zuul)
一.搭建注册中心 1.1.创建一个cloud-service项目 1.2:POM文件依赖 1 <?xml version="1.0" encoding="UTF-8 ...
- layui 列合并相同内容
table.render({ elem: '#tbdata', method: 'post', data: jsonData, height: temphei, limit: 20, limits: ...
- Linux:Ka li 2020.4 安装教程
下载地址 Ka li官网 :https://www.kali.org install 版本是安装版,安装后使用: Live 版本可以直接启动运行: netinstaller 版本是网络安装版, ...
- Spring:Spring优势——分层架构简介
Spring框架采用分层架构,根据不同的功能被划分成了多个模块,这些模块大体可分为 Data Access/Integration.Web.AOP.Aspects.Messaging.Instrume ...
- com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95)
RabbitMQ 基于Erlang 实现, 客户端可以用Python | Java | Ruby | PHP | C# | Javascript | Go等语言来实现.这里做个java语言的测试.首先 ...
- swoole实现任务定时自动化调度详解
开发环境 环境:lnmp下进行试验 问题描述 这几天做银行对帐接口时,踩了一个坑,具体需求大致描述一下. 银行每天凌晨后,会开始准备昨天的交易流水数据,需要我们这边请求拿到. 因为他们给的是一个bas ...
- 关于scrollview的无限滚动效果实现
起因及需求:做过阅读器的朋友应该知道,一般的阅读器都会有仿真.平移等特效.最近赶上真空期,项目不忙,有点时间,于是想抓起来,总结点干货. 仿真翻页及平滑翻页的基本实现: 仿真翻页,使用系统自带的UIP ...
- Log4cpp配置文件及动态调整日志级别的方法
一.log4cpp概述 Log4cpp是一个开源的C++类库,它提供了C++程序中使用日志和跟踪调试的功能,它的优点如下: 提供应用程序运行上下文,方便跟踪调试: 可扩展的.多种方式记录日志,包括命令 ...
- Python基础4--数据类型
一.数据类型是什么鬼? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...
- SpringBoot 整合 MybatisPlus 3.0
CRUD是指在做计算处理时的增加(Create).读取查询(Retrieve).更新(Update)和删除(Delete)几个单词的首字母简写.主要被用在描述软件系统中DataBase或者持久层的 ...