首页 > 其他 > 详细

中间件调研

时间:2021-05-26 21:20:34      阅读:12      评论:0      收藏:0      [点我收藏+]

1.  简介

大型企业存在各种Client/Server交互业务,大部分都是基于RPC远程过程调用协议,全称:Remote Procedure Call Protocol。传输协议基于TCP、UDP、Http等。小部分采用WCF或者Web Service。

2.  交互方式

2.1  WEB Service

WEB服务使用SOAP协议,传输采用xml传递数据,支持跨语言,是比较常见应用场景,但是缺点也很明显: 

1. WebService使用了XML对数据封装,会造成大量的数据要在网络中传输。  

2. WebService规范没有规定任何与实现相关的细节,包括对象模型、编程语言。

无法应对高并发、高效率需求场景。

2.2  WCF

Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。

整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTPFTP的相关技术,支持远程调用对象,其实也是.net平台的RPC实现方式, 除了webService方式外不支持跨语言跨平台的,在将来云端部署服务时,客户端的语言限制比较大,并且兼容集成多种交互,比较重,大并发可能性能不够理想。

2.3  Thrift

thrift最初由facebook开发用做系统内各语言之间的RPC通信 。

目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等。其中所用到的数据传输方式包括 XML,JSON 等,然而 XML 相对体积太大,传输效率低,JSON 体积较小,新颖,但还不够完善。由 Facebook 开发的远程服务调用开源框架Apache Thrift,它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以在多种语言中,如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk 等创建高效的、无缝的服务,其传输数据采用二进制格式并压缩,相对 XML 和 JSON 体积更小,对于高并发、大数据量和多语言的环境更有优势。

技术分享图片

 

 

1.1  总结

  1. WEB SERVICE 跨语言跨平台,但是效率比较低,对高并发支持不够;

 

  1. WCF 集成.NET交互平台,是RPC的Windows\.NET实现,跨语言支持不够,体积庞大,高并发、高效率限于Remoting等.Net下远程对象调用;

 

  1. Thrift是跨平台多语言的RPC实现,支持压缩二进制传输,TCP\UDP\HTTP等协议,适用大型系统部署。

中间件调研

原文:https://www.cnblogs.com/Liyuting/p/14814549.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!