【问题标题】:why is it said that remoting is faster than web services? Why XMLserializer is slow?为什么说远程处理比 Web 服务快?为什么 XMLserializer 很慢?
【发布时间】:2009-09-20 12:23:03
【问题描述】:

远程处理速度比网络服务快,反之亦然。

还有我们可以根据哪些参数来区分性能。

Web 服务使用 XMLserializer 而远程处理使用二进制

xmlserialization 是一个缓慢的过程吗?如果是,为什么?

【问题讨论】:

    标签: web-services remoting


    【解决方案1】:

    我认为“远程处理”是指 RPC/RMI 调用。

    是的,将一个 RPC/RMI 调用与一个 Web 服务调用进行比较,那么 RPC/RMI 调用通常会在速度上表现得更好(二进制更紧凑,编码和解码速度更快)。但最大的时间通常花在网络延迟上,等待消息到达。

    因此,在现实的大型复杂系统中,最佳选择是网络请求数量最少的系统。这与语言绑定和远程服务 api 的外观有很大关系。

    我见过的大多数 RPC/RMI API 都会促进大量远程调用,即首先获取远程对象,然后调用一些导致远程调用的 setter,然后请求远程对象执行某些操作。

    Web 服务通常基于在本地创建一个大型“文档对象”,然后一次性发送。只需要一个请求-响应。

    【讨论】:

    【解决方案2】:

    是否更快,因为二进制序列化对象的大小比 XML 表示的相同对象小。而且通过电线传输所需的时间更短

    【讨论】:

    • 也就是说,XML 通常压缩得很好(很多重复的模式等)。这真的有点取决于你想要/需要做什么。
    • 是的......但那是额外的工作;)也可以配置远程处理以使用另一个序列化程序
    【解决方案3】:

    根据定义,Web 服务是一个无状态进程,每次您请求数据时,Web 服务都不知道最后发生了什么。当您进行远程处理时,您使用的对象就像它们在本地一样,因此开销更少。

    【讨论】:

      猜你喜欢
      • 2014-08-14
      • 2011-05-01
      • 2010-11-28
      • 2015-01-16
      • 2012-02-17
      • 2011-02-01
      • 2012-01-01
      • 1970-01-01
      • 2017-08-15
      相关资源
      最近更新 更多