相同点
不同点
协议
Dubbo:
- 支持多传输协议(Dubbo、redis等等),可以根据业务场景选择最佳的方式。
- 默认的Dubbo协议:利用Netty、TCP传输,单一、异步、长链接,适合数据量小、高并发和服务提供者远远小于消费者的场景。
Fei**gn:
- 基于http传输协议,短连接,不适合高并发的访问
负载均衡
Dubbo:
- 支持4种算法(随机、轮询、活跃度、Hash一致性),而且算法里面引入权重的概念。
- 配置的形式不仅支持代码配置,还支持Dubbo控制台灵活动态配置。
- 负载均衡的算法可以精准到某个服务接口的某个方法。
Feign:
- 只支持N种策略: 轮询、随机、ResponseTime加权。
- 负载均衡算法是Client级别的。
容错策略
Dubbo:
支持多种容错策略: failOver、failfast、brodecast、forking等,也引入了retry次数、timeout等配置参数。
Feign:
利用熔断机制来实现容错的,处理的方式不一样。