我希望我的两个JVM应用程序在同一台机器上相互通信。我考虑使用RMI,但后来我发现Chronicle Queue声称它非常快。我想知道我是否可以使用Chronicle在另一个JVM上调用一个方法并等待返回值。是否有任何用例?
答案 0 :(得分:1)
它可行,但可能是一种矫枉过正(特别是如果你不必保留请求/回复的历史记录)。想象一个带有两个进程的简单场景:C(客户端)和S(服务器)。创建两个IndexedChronicles
:
Q1
用于将请求从C
发送到S
Q2
用于将回复从S
发送到C
服务器在Q1
上有一个轮询线程(繁忙旋转后退)。当收到请求时(id=x
,它会执行所需操作,并将回复写入Q2
(id=x
。C
民意调查Q2
并附带一些政策和在它们出现时读出响应。它使用id
将响应绑定到请求。
主要任务是设计一个线级协议,用于从客户端序列化命令(相当于方法调用)。这是特定于应用程序的,可以使用Chronicle工具高效完成。
需要考虑的其他问题:
VanillaChronicle
使得更容易付费)