Spring-cloud微服务实战【六】:接口服务feign

在上一篇文章中,咱们使用了ribbon进行负载均衡,可是仔细思考一下,咱们的请求封装和调用以及结果的返回都是咱们本身编码完成的,若是须要调用的接口不少,那么无疑开发量是比较大的,那有没有比较好的方式呢?答案就是feign.让咱们先经过代码来看一下feign的使用:
首先,咱们须要复制一份consumer的代码,而且重命名为dhp-micro-service-consumer-feign:
filegit

而后修改代码以下:
1.新增maven依赖:
filegithub

2.修改代码:
首先新增一个feign的接口:
file安全

另外,若是要经过Feign进行远程调用,依然须要安全服务提供方的认证问题,所幸feign里面已经集成了这块功能:
file负载均衡

此时,准备工做已经作好了,修改controller的代码:
filemaven

而后启动起来试一试:
file
file编码

说明feign已经继承成功,能够看到,和以前的代码量相比,使用feign以后代码已经简洁许多了,而且若是producer启动了集群,能够发现feign自带负载均衡功能,由于feign也集成了ribbon,咱们用两张图来对比一下:
在没有集成feign以前,咱们是直接走ribbon:
fileblog

集成feign以后,咱们是走feign:
file继承

咱们能够新增ribbon策略试一试:
file接口

再次启动,会发现负载均衡规则是随机访问了.开发

数据压缩

咱们已经知道,feign最主要的做用就是将Rest服务的信息转化为接口,这其中还有其余的一些地方应该要考虑,好比:数据的压缩.Rest协议更多的传输的是文本,JSON或者XML,若是用户发送的请求很大,这个时候有必要对数据进行压缩处理,feign自己提供了对压缩的支持:
file

介绍完了feign,下一篇文章,咱们会介绍服务熔断与降级hystrix,敬请期待.
本文的GitHub地址

本文由博客一文多发平台 OpenWrite 发布!

相关文章
相关标签/搜索