我做了一些搜索,但没有提出任何关于这个主题的内容。我想知道是否有人曾(在某种程度上)比较RPC在套接字和REST Web服务之间的性能差异。如果两者都做同样的事情,那将会有更好的表现者?我已经开始构建一些套接字代码,并且想知道在我进一步发展之前REST是否会提供更好的性能。任何意见都会非常感激。非常感谢
答案 0 :(得分:4)
RMI
感觉就像本地API一样 XMLRPC
可以提供一些相当不错的遥控器 异常数据
Java特定意味着这会导致锁定 进入并限制您的选择
有可怕的版本问题 在不同版本的客户之间
必须编译骨架文件 像CORBA,它不是很灵活
REST:
易于在防火墙周围布线
可以尽可能地上传文件 相当轻量级
如果你只是想推,那就非常简单 简单的东西在某事上得到 返回一个整数(比如上传者)Apache背后的代理安全性很容易 让它带走热量
没有定义任何标准格式 对于数据的方式 交换(可能是JSON,YAML 1.0, YAML 2.0,任意XML格式等)
没有定义任何约定 将远程故障发送回 调用者,整数代码经常出现 使用,但发送回数据的方法 没有定义。理想情况下,这将是 标准化。
可能需要做很多工作 库的客户端调用者 利用数据(自定义序列化 等等)
简而言之,来自here
Web服务确实允许松散 耦合架构。有了RMI,你 必须确保对象 在所有应用程序中保持同步
RMI最适合较小的 应用程序,不是 与互联网相关,因而无法扩展
答案 1 :(得分:2)
很难想象REST比简单的套接字连接快,因为它也超过了Socket。
然而,REST可能足够高性能,标准且易于使用。在尝试使用自己的Socket解决方案之前,我会测试REST是否足够快并且首先满足您的要求(或许多其他现有解决方案之一)。