java - Java 的分散式集群库

标签 java cloud replication failovercluster

<分区>

我正在尝试开发一个基于网络安全分散复制的分布式系统。我正在寻找具有以下要求的 Java 库:

  1. 库应该能够以分散的方式(无主从)初始化 n 个节点。它应该能够在启动时从网络故障中恢复。例如:我尝试启动一个有 5 个节点的网络,但只有 3 个启动。

  2. 初始化后,它应该能够检测到节点丢失,通知用户,以便用户可以在应用程序前端采取一些补救措施并从中恢复。我不关心任何新节点或失败节点再次加入集群。但如果它也支持那个,那很好。

  3. 它应该允许 P2P 通信。如果能同时支持高效的P2P和组播就很好了。

  4. 允许像在 Aleph 中一样在节点之间发送 Runnable 消息和可序列化对象。 Alepha 是一个很好的,它不支持节点故障/恢复。

基本上,我将根据 Activity 节点列表创建节点的动态法定人数,并在不同的法定人数上复制对象。我的框架将允许用户讨论这些仲裁并访问对象。如果节点出现故障,我需要使用新的 Activity 节点列表重建仲裁。我想专注于仲裁算法并在网络功能上节省精力。为此,请推荐一些合适的图书馆。如果您也知道任何类似的仲裁解决方案,请也引用一下。

最佳答案

由于没有人回答,我只是更新我使用的解决方案:JGroups。它非常适合基于集群的多播。

关于java - Java 的分散式集群库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8782922/

相关文章:

java - 如何使用 JPA 通过 SSH 连接到远程 MySQL 服务器?

java - 计算 Android 中 SHA 迭代的轮次

.net - 适用于 Java 的 Google App Engine,适用于 .Net 的是什么?

mysql - 如何使用 MySql 的基于行的复制处理 DDL 语句(创建、更改、删​​除)?

data-structures - 矢量时钟与版本矢量的用例是什么?

mongodb - MongoDB 如何同时进行分片和复制?

java - 如何忽略 eclipse 调试器中自动生成的类?

java - 如果我关闭 stardog 连接池中的连接会发生什么

AWS EC2 上的 Tomcat 日志记录

android - 如何在不同设备之间同步数据