CloudAlibaba-Fegin

没有之前那么多的理论了,先使用

使用

pom依赖
在这里插入图片描述
注解

在启动类上添加 @EnableFeginClients 注解

在这里插入图片描述
编写代码
在这里插入图片描述

当Fegin 的这个方法被调用时,会构建出 http://user-center/users/{id}这样的URL
我们的Ribbon 会根据 微服务的名称自动根据负载均衡算法,找到对应的微服务实例,进行访
问.
将返回的结果转换成 UserDTO.

使用

@Autowrited
private UserCenterFeginClient userCenterFeginClient
UserDTO userDto = userCenterFeginClient.findById(userId);

Fegin组成

在这里插入图片描述

细粒度配置

指定日志

代码配置

因为 Fegin 默认是不打印任何日志的. 所以我们需要进行配置

在这里插入图片描述

Fegin 定义了四种日志级别

在这里插入图片描述

@FeginClient(name="user-center",configuration= UserCenterFeginConfiguration.class)
public interface UserCenterFeginClient{
	@GetMapping("/users/{id}")
	UserDTO findById(@PathVariable Integer id);
}
其中 @FeginClient 中的 configuration 属性指定的 UserCenterFeginConfiguration.class.
我们要在其中编写 指定日志级别的代码
日志级别依旧是有实现类. 我们实现,使用@Bean注解.交给Spring进行管理. 即可``
public class UserCenterFeginConfiguration{
	@Bean
	public Logger.Level level(){
		return Logger.Level.FULL;
	}
}

在这里插入图片描述
yml配置

logging:
	level:
		cn.nctwo.UserCenterFeginConfiguration: debug

代码配置方式总结

我们使用代码配置日志级别. 需要配合 yml 配置. 而Java代码配置的日志级别. 是需要
等于 大于 yml 指定的日志级别之上的.
因为代码配置方式使用的是 Fegin 自己指定的日志级别. 而一般的日志级别是DEBUG,
INFO等级别. 是需要一个对照的

纯yml配置日志级别

首先,将 @FeginClient 中的 configuration 属性去掉. 不再指定 配置类
# fegin.client.config.<feginName>.loggerLevel: full
fegin.client.config.user-center.loggerLevel: full

全局配置
代码方式
在这里插入图片描述

俩种方式,第一种不推荐使用.

在这里插入图片描述
博主这里偷懒了.

只需要在启动类的 @EnableFeginClients 注解的 defaultConfiguration 属性指定
日志配置类即可.
而 defaultConfiguration 指定的日志配置类. 内部的代码就是我们之前写的那部分.

在这里插入图片描述
yml 全局配置

fegin:
	client:
		config:
			# 全局配置,将服务名称改为 default即可
			default:
				loggerlevel: full

支持的配置项

代码
在这里插入图片描述
属性配置
在这里插入图片描述

最佳实践配置总结

在这里插入图片描述
对比
在这里插入图片描述

Fegin 继承

Fegin 的使用方式是, 编写 接口,内部方法的访问方式和方法签名一致. 在调用的时候,
Fegin自动去调用. 
而 服务调用方 和 服务提供方 这部分的代码是一致的. 重复了. 那么我们可以抽离出来
放置在独立的模块内.
服务提供方的Controller 层,实现 抽离出来的接口. 
服务调用方 Fegin 继承 抽离出来的接口.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值