市面上常见的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也未尝不可。

相关推荐

狗狗为什么会哭?探讨情感与生理因素的关系
保姆级 英伟达旧版显卡驱动下载教程
英雄联盟影流是电信几区
类似LOL的手机游戏

类似LOL的手机游戏

08-07 💫 5450

本文标签