远程调用选型对比

一、远程调用

  一般来说服务间远程调用有两种方式,HTTP和RPC。HTTP主要包括Httpclient、OkHTTP、RestTemplate、Feign(对RestTemplate封装可集成Ribbon做负载均衡)等;RPC主要包括dubbo、grpc、brpc、motan、rpcx、thrift等。本文主要对比springcloud框架常使用的远程服务调用框架Feign和Dubbo

二、远程调用对比

对比项 feign dubbo
协议 http rpc/rmi/http
性能 一般
连接 短连接 长连接
高并发 不适合 适合
负载均衡 轮询/随机/ResponseTime加权(client级别算法) 随机/轮询/活跃度/一致性Hash(可精确到接口级别算法)
容错 熔断机制 failover/failfast/brodecast/forking(引入了retry、timeout)

  对于springcloud选型来讲,alibaba使用dubbo(rpc或http),netflix使用feign(http)
  注:若dubbo使用rpc可通过alibaba sidecar实现跨语言

相关推荐:
1、注册中心选型对比
2、配置中心选型对比
3、网关选型对比
4、远程调用选型对比
5、分布式数据一致性
6、消息队列选型对比
7、监控工具选型对比
8、全链路追踪选型对比

猜你喜欢

转载自blog.csdn.net/qq_21033663/article/details/114048416