14 开源RPC框架如何选型?

14 开源RPC框架如何选型?

[专栏第6期]我给你讲解了RPC远程调用的原理,简单回顾一下一个完整的RPC框架主要有三部分组成:通信框架、通信协议、序列化和反序列化格式。根据我的经验,想要开发一个完整的RPC框架,并且应用到线上生产环境,至少需要投入三个人力半年以上的时间。这对于大部分中小团队来说,人力成本和时间成本都是不可接受的,所以我建议还是选择开源的RPC框架比较合适。

那么业界应用比较广泛的开源RPC框架有哪些呢?

简单划分的话,主要分为两类:一类是跟某种特定语言平台绑定的,另一类是与语言无关即跨语言平台的。

跟语言平台绑定的开源RPC框架主要有下面几种。

  • Dubbo:国内最早开源的RPC框架,由阿里巴巴公司开发并于2011年末对外开源,仅支持Java语言。
  • Motan:微博内部使用的RPC框架,于2016年对外开源,仅支持Java语言。
  • Tars:腾讯内部使用的RPC框架,于2017年对外开源,仅支持C++语言。
  • Spring Cloud:国外Pivotal公司2014年对外开源的RPC框架,仅支持Java语言,最近几年生态发展得比较好,是比较火的RPC框架。

而跨语言平台的开源RPC框架主要有以下几种。

  • gRPC:Google于2015年对外开源的跨语言RPC框架,支持常用的C++、Java、Python、Go、Ruby、PHP、Android Java、Objective-C等多种语言。
  • Thrift:最初是由Facebook开发的内部系统跨语言的RPC框架,200

你可能感兴趣的:(从0开始学微服务,开源,rpc,网络协议)