Can Chronicle Queue可以像RMI一样使用吗?

时间:2016-03-03 13:01:55

标签: java rmi chronicle chronicle-queue

我希望我的两个JVM应用程序在同一台机器上相互通信。我考虑使用RMI,但后来我发现Chronicle Queue声称它非常快。我想知道我是否可以使用Chronicle在另一个JVM上调用一个方法并等待返回值。是否有任何用例?

1 个答案:

答案 0 :(得分:1)

它可行,但可能是一种矫枉过正(特别是如果你不必保留请求/回复的历史记录)。想象一个带有两个进程的简单场景:C(客户端)和S(服务器)。创建两个IndexedChronicles

  • Q1用于将请求从C发送到S
  • Q2用于将回复从S发送到C

服务器在Q1上有一个轮询线程(繁忙旋转后退)。当收到请求时(id=x,它会执行所需操作,并将回复写入Q2id=xC民意调查Q2并附带一些政策和在它们出现时读出响应。它使用id将响应绑定到请求。

主要任务是设计一个线级协议,用于从客户端序列化命令(相当于方法调用)。这是特定于应用程序的,可以使用Chronicle工具高效完成。

需要考虑的其他问题:

  • 客户应该如何处理启动时的历史回复?
  • 一些心跳系统,以便客户端知道服务器还活着
  • 归档旧队列(VanillaChronicle使得更容易付费)