消息传递,分布式任务调度,缓存复制框架(使用Java)

问题描述:

我需要一个集群框架:消息传递,集群加入/离开,分布式任务调度和缓存复制。最好全部在相同的框架下处理,初始化来自DB的IP,具有脑分裂保护,带领选举(和重选)。我没有大量的服务器(1-10,可能不会更多)。消息传递,分布式任务调度,缓存复制框架(使用Java)

注 - 我的服务器与每个服务器内存中缓存(至少是我计划共享的部分)应该从领导者复制到追随者的点相同。具体来说,诸如EHCAche,兵马俑和榛子之类的解决方案(至少在其默认配置中)并不适合。

任何想法,我应该看看?我即将放弃并在jgroup之上推出自己的产品,但决定再给它一次机会。如果可能的话,请回复以前使用该框架的经验...

+1

您是否找到解决方案?为什么没有Hazelcast合适? – vanto

+0

@vanto我们最终在JGroups之上实施了我们自己的解决方案。 –

将Zookeeper与Curator一起使用可能会实现您指定的项目。

http://zookeeper.apache.org/

  • 从该网站:“动物园管理员是维持配置信息,命名,提供分布式同步,并提供团体服务,集中服务,所有这些类型的服务以某种形式或其他使用通过分布式应用程序来实现,每次实施时都会有很多工作来解决不可避免的错误和竞争条件,由于实现这些服务的困难,最初应用程序通常会吝啬,这使得它们变得脆弱在变化和难以管理的情况下,即使正确完成,这些服务的不同实现也会导致管理当应用程序被部署时,这很复杂。“

http://curator.apache.org/

馆长会给你

  • 食谱:一些常见的ZooKeeper “食谱” 的实现。这些实现建立在Curator框架之上。
  • 框架:Curator框架是一个高级的API,大大简化了ZooKeeper的使用。它增加了构建在ZooKeeper上的许多功能,并处理管理到ZooKeeper集群的连接和重试操作的复杂性。
  • 实用程序:使用ZooKeeper时很有用的各种实用程序。 客户端替代捆绑的ZooKeeper类,它负责照顾一些低级内务,并提供一些有用的工具。
  • 错误:有错误,连接问题,可恢复的异常等
  • 扩展如何策展人优惠:馆长菜谱包实现了ZooKeeper的文档中描述的常见菜谱。为了避免该软件包膨胀,具有垂直吸引力的食谱/应用程序将使用命名约定curator-x-name放入单独的“扩展”软件包中。