用于与RMI进行分布式Java通信的库

用于与RMI进行分布式Java通信的库,java,rmi,distributed,Java,Rmi,Distributed,我正在尝试解决进程间通信这一古老的问题,特别是针对客户机是GUI的客户机-服务器模型 我已经看过了Chronicle,尽管它可以序列化对象,但它缺少RMI的特性。它可以通过POJO,但不能运行方法。与其将两者混合使用,或者根本不使用RMI,还不如编写一个协议来处理编年史通信以实现方法调用,我正在寻找现代的替代方案 环顾卡乔似乎是一个很好的适合,但似乎很少有积极的发展正在发生 阿卡似乎也很适合,但我在网上找不到这两者之间的比较 哪一个库非常适合解决这个问题,并且在将来会得到很好的支持 编辑: 在参

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

我已经看过了Chronicle,尽管它可以序列化对象,但它缺少RMI的特性。它可以通过POJO,但不能运行方法。与其将两者混合使用,或者根本不使用RMI,还不如编写一个协议来处理编年史通信以实现方法调用,我正在寻找现代的替代方案

环顾卡乔似乎是一个很好的适合,但似乎很少有积极的发展正在发生

阿卡似乎也很适合,但我在网上找不到这两者之间的比较

哪一个库非常适合解决这个问题,并且在将来会得到很好的支持

编辑:

在参考了这里的文档和评论之后,我有更多的问题


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

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

为什么特别需要方法调用和POJO?为什么一个好的ole(比如JSON或protobuf)交换不起作用?使用RMI会使您的协议不可移植,考虑到我们谈论的是Java,这是相当令人伤心的,因为需要一个协议层,这是不必要的,因为我不需要它是语言可移植的,我希望它简单。根本不需要协议层,这是一个神话;您可以使用它们中的任何一个,而不必执行http,也不必组织JSON数据,您将如何告诉服务器和客户机执行某些操作?JSON的结构将取决于对象的设计方式。在我看来,这增加了不必要的复杂性;要调用的方法、要处理的POJO等信息必须来自某个地方!不管怎样,你的选择……好吧,我明白你对阿克卡的看法。但是Cajo做RMI,让它变得更简单,对吧?如果你没有任何性能要求,并且你认为这个库是稳定的和受支持的,没有学习曲线,你将能够更快地编写代码,那么IMO只有在那时你才应该选择一个而不是RMI,我不是说你不能在Akka中进行异步IO,因为这绝对是可能的,但如果你认为这就是关于阿克卡的“它”,那么你就错过了95%: