目录
1.基于feign的远程调用
1.resttemplate方式调用存在的问题
2.feign的介绍
https://github.com/openfeign/feign
3.定义和使用feign客户端
1.引入依赖:

2.在order-service的启动类添加注解开启feign的功能:

3.编写feign客户端:

修改service层中的服务层代码
使用feignclient中定义的方法代替resttemplate:

修改orderservice的yaml:

启动服务,发现服务:

2.自定义配置

配置feign日志:
1.方式一:配置文件方式
1.全局生效:

2.局部生效:
2.方式二: java代码方式,需要先声明一个bean:

1.而后如果是全局配置,则把它放到@enablefeignclients这个注解中:

2.如果是局部配置,则把它放到@feignclient这个注解中:

3.feign的性能优化
1.feign底层的客户端实现
2.连接池配置
1.feign添加httpclient的支持:
引入依赖:

2.配置连接池:

4.feign的最佳实践
1.方式一(继承)︰
2.方式二(抽取)∶
实现步骤如下:
1.首先创建一个module,命名为feign-api,然后引入feign的starter依赖


2.将order-service中编写的userclient、user、defaultfeignconfiguration都复制到feign-api项目中

3.在order-service中引入feign-api的依赖

4.修改order-service中的所有与上述三个组件有关的import部分,改成导入feign-api中的包
5.重启测试

1.方式一:指定feignclient所在包

1.方式二:指定feignclient字节码

发表评论