`
richie.lee
  • 浏览: 29260 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

远程服务差异比较

阅读更多

基于分布式的计算,远程服务发挥很大作用,能够让应用充分利用互联网带来的性能和资源利用率提升。目前,远程服务都是基于网络一些协议进行数据传输,完成所谓的client与server的交互。

 

一般使用的传输协议主要有RMI、Hessian、Burlap、Httpinvoker、WebService这5种协议。为什么会存在这么多协议,它们有什么不同的?很简单,只是现在没有一种完美的协议能使用于所有的应用场景,它们的出现只是为了更好的实现特有场景下的需求。

 

  • RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。特别适用于大量数据的传输,这种情况下,其性能可以说是几种服务协议效率最高的。但对于少量数据传输,则不如hessian灵活和高效。
  • Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以用于任意语言。传输少量对象时,比RMI还要快速高效,但传输数据结构复杂的对象或大量数据对象时,较RMI要慢20%左右。Hessian的好处是精简高效,可以跨语言使用,而且协议规范公开,我们可以针对任意语言开发对其协议的实现。目前已有实现的语言有:java, c++, .net, python, ruby。
    另外,Hessian与WEB服务器结合非常好,借助WEB服务器的成熟功能,在处理大量用户并发访问时会有很大优势,在资源分配,线程排队,异常处理等 方面都可以由成熟的WEB服务器保证。而RMI本身并不提供多线程的服务器。而且,RMI需要开防火墙端口,Hessian不用。
  • Httpinvoker是SpringFramework提供的远程通讯协议,只能用于JAVA程序间的通讯,且服务端和客户端必须使用SpringFramework。使用java的序列化技术传输对象,与RMI在本质上是一致的。从效率上看,两者也相差无几,HttpInvoker与RMI的传输时间基本持平。不过,它只能用于JAVA语言之间的通讯,而且,要求客户端和服务端都使用SPRING框架。
  • Web service是连接异构系统或异构语言的首选协议,它使用SOAP形式通讯,可以用于任何语言,目前的许多开发工具对其的支持也很好。Burlap采用xml的格式。Burlap和Web service效率是一个很大问题。Web service传输的冗余信息过多是其速度慢的原因之一。

目前,在开发的项目中,与外部系统合作时,比较通用的使用REST风格的远程服务请求。而在内部系统之间的跨应用请求,主要使用RMI和Hessian协议进行远程调用。

 

还有一种常用的方法,利用httpClient方式对外交互。这个对轻量级的请求是不错的选择。

分享到:
评论

相关推荐

    远程屏幕传输(差异截图

    "差异截图"是指在远程屏幕传输过程中,只传输屏幕内容发生变化的部分,以提高传输效率并减少带宽消耗。 1. **远程屏幕传输原理**: 远程屏幕传输技术基于客户端-服务器模型,其中客户端设备请求访问服务器端的屏幕...

    C#远程桌面共享、屏幕差异传输

    屏幕差异传输则只发送画面变化的部分,通过比较前后两帧图像的差异来确定哪些区域需要更新。在C#中,可以使用位图操作函数,如GetPixel和SetPixel,以及图像处理算法来实现这一过程。 实现这个功能的基本步骤包括:...

    易语言远程屏幕差异传送源码

    易语言远程屏幕差异传送源码是一种利用编程技术实现实时屏幕图像传输的解决方案,尤其适用于远程协作、监控或在线教育场景。在这个系统中,重点在于屏幕差异检测技术,这是一种优化数据传输效率的方法,只发送屏幕...

    易语言远程屏幕差异传送源码.rar

    远程屏幕差异传送的核心原理是通过对连续两次屏幕快照的比较,找出画面变化的部分,然后只发送这些变化区域的数据。这样可以显著降低网络带宽的占用,尤其是在低带宽环境下,能有效提升用户体验。这个源码可能包含...

    易语言发送源码,易语言接收源码,易语言远程屏幕差异传送

    易语言远程屏幕差异传送源码,远程屏幕差异传送,连接服务器,数据处理,发送数据,客户端断开,屏幕,取图片差异,截图,取空白字节集_,HeapAlloc,GetProcessHeap,CopyMemory_BITMAPINFO,CopyMemory_BITMAPFILEHEADER,复制...

    易语言源码易语言远程屏幕差异传送源码.rar

    易语言源码易语言远程屏幕差异传送源码.rar 易语言源码易语言远程屏幕差异传送源码.rar 易语言源码易语言远程屏幕差异传送源码.rar 易语言源码易语言远程屏幕差异传送源码.rar 易语言源码易语言远程屏幕差异传送...

    自动定时备份远程服务器的mysql数据库并存储在本地

    利用Linux的`cron`服务设置定时任务,例如每天凌晨1点运行备份脚本。在`crontab -e`命令中添加如下行: ``` 0 1 * * * /path/to/your/backup_script.sh > /dev/null 2>&1 ``` 这行命令会在每天的1点0分执行备份...

    shell脚本比较两台服务器目录及文件是否一致

    3. **故障排查**:当遇到服务异常时,可以快速定位是由于哪台服务器的文件出现了问题。 #### 改进方向 1. **自动化程度提升**:可以通过增加定时任务(如crontab)自动执行脚本,并将结果发送给管理员邮箱,提高...

    远程屏幕传输(差异截图)

    这里我们将详细探讨Delphi源码实现的远程屏幕传输(差异截图)及其原理,以及涉及到的DSPACK控件在远程视频传输中的应用。 首先,我们来理解"差异截图"的概念。在远程屏幕传输中,首次全屏截图是为了获取目标计算机...

    易语言源码远程屏幕差异传送.rar

    易语言编程源码,大家可以参考学习

    易语言远程屏幕差异传送源码.zip易语言项目例子源码下载

    易语言远程屏幕差异传送源码.zip易语言项目例子源码下载易语言远程屏幕差异传送源码.zip易语言项目例子源码下载易语言远程屏幕差异传送源码.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业...

    远程屏幕传输 差异截图

    标题中的“远程屏幕传输 差异截图”是指在IT领域中一种常见的技术,它允许用户在不同的设备之间实时查看和捕获远程计算机的屏幕内容。这项技术常用于远程协助、监控或者多设备协作的场景。差异截图则是在连续的屏幕...

    远程操作服务器文件工具

    其三,同步功能:WinSCP支持双向同步,可以根据时间戳或文件大小判断并更新本地和远程文件夹之间的差异,确保数据的一致性。 在安全性方面,WinSCP使用SSH协议,提供强大的加密机制,确保数据在传输过程中的安全性...

    配置Pycharm连接远程服务器

    - 如果使用的是不同操作系统的客户端和服务器(例如Windows客户端与Linux服务器),需要注意路径分隔符的差异,确保路径格式正确。 #### 5. 性能优化 - 当处理大数据集或运行计算密集型任务时,考虑使用更高性能的...

    远程屏幕传输(差异截图)ycpmcs.rar

    在IT行业中,远程屏幕传输和差异截图是两个重要的技术概念,尤其在远程协作、系统监控和故障排查等场景中有着广泛的应用。本文将详细解析基于DELPHI实现的远程屏幕传输(差异截图)技术。 首先,远程屏幕传输是指...

    屏幕传输 (差异截图)(dspack)

    屏幕传输技术,特别是差异截图,是现代信息技术中一个重要的领域,尤其在远程协作、技术支持和监控应用中扮演着关键角色。dspack是一个用于实现这一功能的工具,它提供了高效且实时的屏幕捕获和传输解决方案。 首先...

    e语言-易语言远程屏幕差异传送

    资源介绍:源码实现传送即时屏幕图片,传送时具有屏幕图片差异检测。资源作者:

    jenkins 执行远程linux命令

    ### Jenkins执行远程Linux命令 #### 一、概述 在现代软件开发流程中,持续集成(CI)和持续部署(CD)已成为不可或缺的一部分。Jenkins作为一款开源自动化工具,被广泛应用于构建、测试以及部署等各个环节。为了...

Global site tag (gtag.js) - Google Analytics