两个Java进程之间的快速通信

时间:2017-02-02 08:16:36

标签: java jvm protocol-buffers rmi

我有两个我想要沟通的小型Java应用程序。应该有一个普通的请求消息和JSON中的响应。

我找到了两个解决方案:

RMI和协议缓冲区。

什么是最快的方式,最容易实现的是什么?

1 个答案:

答案 0 :(得分:4)

RMI或ProtocolBuffers都不符合您的要求。 RMI使用Java Object Serialization encodin发送和接收数据。 ProtoBuffers也使用自己的编码方案。两者都不兼容。

  

什么是最快的方式,最容易实现的是什么?   是合适的要求

忽略上述问题......

  • 虽然这是有争议的,但RMI更简单。 (这取决于你对这两种技术的了解程度)

  • ProtoBuffers效率更高。

  

Saying JSON我的意思是一个String,其内容具有JSON格式。

如果您正在发送和接收JSON字符串并且已经处理了编组/解组,那么最快最简单的方法是使用普通Sockets。在这种情况下,RMI或ProtoBuffers都没有给你任何真正的价值。

另一种选择是HTTP或HTTPS。这些更有可能通过防火墙。适当实施时,HTTP也更安全。但这种安全性是以性能为代价的。

如果不关心防火墙,那么普通的套接字级通信是一个很好的选择,使用TCP或UDP,具体取决于消息大小,可靠性要求,是否需要一次性或重复的消息交换等。< / p>