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

Ren*_*der 7 java serialization rpc process

我的用例:

  • process-1"数据库",从数据文件加载> 1GB的数据到内存中(只需加载30-60秒)
  • process-2"client"想要快速访问该数据而无需全部加载

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

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

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

jot*_*cas 0

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