热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

跨语言RPC框架

跨语言RPC框架RPC框架RPC(RemoteProcedureCall):是一种计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个
跨语言RPC框架

RPC框架

RPC(Remote Procedure Call):是一种计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。
比较常见的RPC框架有Hessian、Thrift、Protocal Buffer

《跨语言RPC框架》 rpc.jpg

Hessian

Hessian采用的是二进制RPC协议,适用于发送二进制数据。基于Http协议进行传输。通过Servlet提供远程服务。通过Hessain本身提供的API来发起请求。响应端根据Hessian提供的API来接受请求。
优点:
1.整个jar很小
2.配置简单
3.功能强大,抛开了soap(simple object access protocal 简单对象访问协议)、ejb,采用二进制来传递对象

Thrift

Apache Thrift是facebook实现的一种高效、支持多种编程语言的远程服务调用框架。目前流行的服务调用方式有很多种,例如基于SOAP消息格式的web service,基于json消息格式的Restful服务。其中所用到的数据传输方式播啊看XML,JSON等,然而XML相对JSON体积大些,传输效率低。JSON体积小,新颖,但还不够完善。Apache Thrift所包含的代码生成引擎可以在多种语言中,如c++、java、python、php、erlang、perl、haskell、c#、cocoa、smalltalk等创建高效的、无缝的服务,采用二进制格式,相对XML和JSON体积更小,对于高并发、大数据量和多语言的环境更有优势。

Protocal Buffer

Protocal buffer 是一种轻便高效结构化数据存储格式,可以用于接哦古化数据串行化,或者说序列化。它很时候做数据存储或RPC数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了c++、java、python三种语言的API。

Hessian、Thrift、Protocal Buffer

1.如果不需要很多语言互相调用,希望保持清晰的java接口代码,减少开发工作量,推荐hessian
2.如果系统之间的数据量不是很大(<2M),推荐hessian
3.如果需要支持大数据量的传输,多语言调用,极高的并发支持,推荐使用thrift/protocal buffer。
参考:通信协议与序列化方案的纠结: Protocol Buffer, thrift or hessian?


推荐阅读
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有