市面上常见的RPC框架比较,以及如何选择

市面上常见的RPC框架比较,以及如何选择

一、当前市面常见的RPC框架

rpcx

grpc

thrift

dubbo

Hprose

Hession

Motan

Tars

easyswoole

swoft

服务端支持的语言

Go

C/C++、C#、Go、PHP、Java、Python、Ruby 、Node.js、Objective-C、Dart

C、C++、Go、PHP、Java、Python、Ruby、JavaScript、node.js、Perl、Lua、.net、Erlang、Rust、swift、Dart

Go、Java、Erlang

C++、Go、PHP、Java、Python、Ruby、JavaScript、Perl、Lua、node.js、.net、ASP、Dart

C++、PHP、Java、Python、.net、Ruby、Erlang

Java

C++、Go、PHP、Java、Python、Node.JS

PHP

PHP

客户端支持的语言

C/C++、C#、Go、PHP、Java、Python、Node.js、Rust

C/C++、C#、Go、PHP、Java、Python、Ruby 、Node.js、Objective-C、Dart

C、C++、Go、PHP、Java、Python、Ruby、JavaScript、node.js、Perl、Lua、.net、Erlang、Rust、swift、Dart

Go、Java、Erlang

C++、Go、PHP、Java、Python、Ruby、JavaScript、Perl、Lua、node.js、.net、ASP、Dart

C++、PHP、Java、Python、.net、Ruby、Erlang

Java

C++、Go、PHP、Java、Python、Node.JS

PHP

PHP

文档地址

rpcx.io

grpc.io

thrift.apache.org

dubbo.apache.org

hprose.com

hessian.caucho.com

motan

TarsDocs

easyswoole.com

swoft.org

在前面三节中,我们了解了RPC框架的原理,但是实际工作中一般是不会真的自己写一个RPC框架的,先不说其中涉及的东西太多,单说稳定性就不能保证,相比之下,经过市场考验的各种RPC框架无疑是更好的选择。它们隐藏了实现细节,使内部实现对程序员透明,直接使用即可。

当然,有闲暇时可以研究几个RPC框架的源码实现就更好了。

二、如何选择

单从性能来讲,rpcx 是要超过其他rpc框架一筹的,但是缺点是服务端仅支持Go语言。

但实际应用中,我们更多的是要考虑后续兼容性,因此服务端绝不能只支持一种程序语言,至少Go、PHP、Java、Python这四种语言都要支持。这样选择范围其实已经缩小很多了,其中最优秀、应用也比较广泛的有grpc、thrift、Hprose、Tars。

至于如何选择还要看公司自己的技术栈以及技术人员总体水平,就比如公司只有PHP一种语言,不选择上面的,就选择Yar也未尝不可,或者公司只有Java和Go两种语言,那就选dubbo也未尝不可。

相关推荐

永恒火焰哪里出?魔兽世界
365bet网络娱乐

永恒火焰哪里出?魔兽世界

📅 06-30 👁️ 2597
开个ktv需要投资多少钱 开个ktv需要什么手续
365best官网

开个ktv需要投资多少钱 开个ktv需要什么手续

📅 08-12 👁️ 6697
玻璃为什么上哈气(门窗玻璃为什么会起雾的原因?)
365bet体育投注地

玻璃为什么上哈气(门窗玻璃为什么会起雾的原因?)

📅 08-17 👁️ 8684
喝酒后第二天吃什么食物好
365bet体育投注地

喝酒后第二天吃什么食物好

📅 08-17 👁️ 7584
迦 书法图片
365best官网

迦 书法图片

📅 08-14 👁️ 4869
如何在js里调用方法有哪些
365bet网络娱乐

如何在js里调用方法有哪些

📅 08-09 👁️ 6004