2015年的Java进程间通信(没有锅炉板)?

时间:2015-06-28 12:04:29

标签: java serialization process rpc

我的用例:

  • process-1“数据库”,将1GB数据从数据文件加载到内存中(只需加载30-60秒)
  • process-2“客户端”希望快速访问该数据而无需全部加载

它们是在同一台机器上运行的独立进程。我想在进程之间传输的数据是包含基本类型(整数,字符串,布尔值)的集合(列表,映射)。

我知道这可以通过打开socket-connect(在序列化数据时创建一些特定协议)或通过RMI(或多或少相同的东西)来完成。我们在15年前做过这两件事。现在没有人自动化这个,所以通过使用一些库你可以设置@InterProcessMethod("some", "details")并且能够在不同的JVM上调用方法,而不必每次都实现序列化等等? (因为主要类型不应该太复杂)。

一家名为Caucho的公司曾经有一些产品来解决这个问题,但我不能再从他们的网页上找到它了。然后,它又是一种网络服务而不是RPC。

1 个答案:

答案 0 :(得分:0)

不是我现在的。更多" 2015"将继续使用RMI,或者将您的后端重构为REST API并通过JSON连接,然后,如果您愿意,可以使用Jackson或甚至手动序列化/反序列化它(在一些非常注重性能的场景中)。