【问题标题】:Library for Distibuted Java Communication with RMI [closed]用于与 RMI 进行分布式 Java 通信的库 [关闭]
【发布时间】:2013-06-15 09:05:21
【问题描述】:

我正在尝试解决进程间通信的古老问题,特别是针对客户端为 GUI 的客户端服务器模型。

我看过 Chronicle,虽然它可以序列化对象,但它缺乏 RMI 的功能。它可以传递 POJO,但不能运行方法。与其混合两者或根本不使用 RMI 并编写一个协议来处理 Chronicle 通信以实现方法调用,我正在寻找现代替代方案。

环顾 Cajo 似乎很合适,但似乎没有什么积极的发展。

然后,Akka 似乎也符合要求,但我在网上找不到两者之间的太多比较。

哪个库最适合解决这个问题,并且会在未来得到很好的支持?

编辑:

在这里参考文档和 cmets 后,我有更多问题。

http://www.javalobby.org/java/forums/t101131.html?start=15

由于 RMI 的更新,Cajo 现在已经过时了,还是它仍然是一个更容易使用的替代品?

【问题讨论】:

  • 为什么需要专门的方法调用和 POJO?为什么一个好的 ole,比如 JSON 或 protobuf 交换不起作用?执行 RMI 会使您的协议不可移植,考虑到我们正在谈论 Java,这相当可悲
  • 因为需要一个协议层,这是不必要的,因为我不需要它是语言可移植的,我希望它简单。
  • 根本不需要协议层,这是一个神话;您可以使用其中任何一个而无需执行 HTTP
  • 如果不组织 JSON 数据,你将如何从客户端告诉服务器做某事? JSON 的结构将取决于对象的设计方式。在我看来,它增加了不必要的复杂性。
  • RMI 也是如此;有关要调用的方法、要处理的 POJO 等的信息必须来自某个地方!无论如何,你的选择......

标签: java rmi distributed


【解决方案1】:

如果您的分布式进程是Java,那么您为什么不想使用RMI?无论如何,您所说的现代是什么意思? RMI 很快,因为它就在TCP 套接字之上,而EJB 容器基于它。 Akka 用于非阻塞 I/O,速度很快,但与您的 OP 主题不同。

【讨论】:

  • 好的,我明白你对 Akka 的看法。但是 Cajo 使用 RMI 并使它更容易一些,对吧?
  • 如果您没有任何性能要求并且您认为该库是稳定的并且支持并且没有学习曲线并且您将能够更快地编码,然后IMO才应该选择RMI
  • 我并不是说你不能在 Akka 中进行异步 IO,因为这绝对是可能的,但如果你认为这是关于 Akka 的“它”,那么你就错过了 95%:@987654321 @
猜你喜欢
  • 2012-05-24
  • 1970-01-01
  • 2010-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多