初-中-高级程序员都应该掌握了解的市面上主流的RPC通信框架
主流RPC通信框架
目前流行的开源RPC框架还是比较多的,使用比较多的有阿里巴巴的Dubbo、Facebook的Thrift、Google的gRPC等。
● Dubbo:阿里巴巴开源的一个RPC框架,在很多互联网公司和企业应用中广泛使用。协议和序列化框架都具备可插拔等特性,应用可通过高性能的RPC实现服务的输出和输入功能,它可以和Spring框架无缝集成。
● gRPC:Google开发的高性能、通用的开源RPC框架。gRPC由Google面向移动应用开发,并基于HTTP2协议标准设计。它基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。
● Thrift:Facebook开源的RPC框架,它是一个跨语言的服务开发框架。应用对于底层的RPC通信是透明的。不过对于用户来说需要学习特定领域语言,还是有一定成本的。
● Motan:新浪微博开源的一个Java框架。Motan在微博平台中已经广泛应用,每天为数百个服务完成近千亿次的调用。与Dubbo相比,Motan在功能方面并没有那么全面,也没有实现特别多的扩展,对跨语言调用支持较差,主要支持Java。
● Hessian:Hessian是一个Web Service框架,支持RPC调用,功能简单,使用起来也方便。它采用二进制RPC协议,基于HTTP进行传输,通过Servlet提供远程服务,可以通过Hessain提供的API来发起请求和接收请求。
● Spring Cloud:Pivotal公司在2014年对外开源的RPC框架,它仅支持Java,最近几年生态发展得比较好,是Java领域目前事实上的微服务框架标准。
RPC框架的功能比较如下表所示。
通过上面不同功能的对比,我们可以看到,不同的RPC框架有不同的适用场景。如果你更加关注服务治理,这类框架能够提供包括服务注册、管理中心在内的整套的微服务技术架构支持,典型代表有Spring Cloud、Dubbo、Montan。如果你更关注跨语言服务调用,典型代表有Hessian、gRPC、Thrift。
本文给大家讲解的内容是RPC远程过程调用,主流RPC通信框架
下篇文章给大家讲解的内容是RPC远程过程调用,Dubbo架构进阶
觉得文章不错的朋友可以转发此文关注小编;
感谢大家的支持!
本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。