分布式系统,最好的框架? [英] Distributed systems, best framework?

查看:302
本文介绍了分布式系统,最好的框架?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我建立以下方案的软件程序:

I am building a software program that follows the scenario:

我有许多计算机,并将它们中的每一个添加到集群。 集群中的每一台计算机都可以将文件添加到一个分布式表(字典,HashMap的,应该是足够快)。

I have many computers, and add each one of them to the a cluster. Each computer in the cluster can add a file to a distributed table (dictionary,hashmap, should be fast enough).

所以现在我有一个地方,每个人都可以看到它的组/群集包含哪些文件。 现在选自/集群的计算机请求一个文件。他可以访问有关从分布表中的文件(在哪台电脑就可以找到该文件等)的全部信息。

So now I have a place where everyone can see what files does the group/cluster contains. Now a computer from the group/cluster requests a file. He can access all the information about the file from the distributed table ( on what computer it can find the file etc...).

通过某种机制应该得到点B(计算机具有文件)文件指向A(谁请求的文件的计算机)。

By some mechanism it should get the file from point B ( computer that has the file ) to point A ( the computer who requested the file ).

基本上,它应该做的数据复制。 (但对于非常大的文件)

Basically it should do data replication. ( but for very large files )

所以,你可能想知道现在,这是什么归仁要求,那就是:

So you probably wonder by now, what is this quy asking for, here it is :

数据复制应尽可能地快。什么是最好的方法?我想过像通量网络。

The data replication should be as fast as possible. What would be the best approach ? I thought about something like flux networks.

什么是最好的框架,以下列场景使用的软件?

What would be the best framework, to use for a software following the scenario ?

我正在寻找一个Java框架:)。 (我需要跨平台运行)

感谢您!

推荐答案

正如我敢肯定你已经发现有很多的图书馆在那里的Java,让您实现这种disturbuted地图。

As I'm sure you have discovered there are a lot of libraries out there for java that allow you to implement this sort of disturbuted map.

  • Hazelcast - 在该区块新的孩子,真的很简单易用,并提供像ConcurrentMap标准的Java接口implmentations
  • 的JGroups - 真的只是群发库,但包括DisturbutedHashMap实施
  • 的JBoss Cache - 建立在JGroups的顶部提供了一个更完整的disturbuted缓存系统具有可选的持久性和交易
  • 兵马俑 - 大并且相当流行,商业支持
  • Oracle Coherence的 - 他们所有的爸爸,有一个价格标签相匹配
  • Hazelcast - new kid on the block, really simple to use and provides implmentations of standard java interfaces like ConcurrentMap
  • JGroups - Really just library for group messaging, but includes a DisturbutedHashMap implementation
  • jBoss Cache - built on top of jGroups provides a much more complete disturbuted caching system with optional persistence and transactions
  • Terracotta - Big and quite popular, commercially supported
  • Oracle Coherence - The daddy of them all, with a price tag to match

有更多的(相当多的多),我个人的preference此刻Hazelcast是出奇的容易上手。我所列出的(我认为)缓存框架依靠的是能够(至少暂时)能够加载整个进入内存,这可能是一个问题,如果你正试图把大文件的内容复制到它们。

There are more (quite a lot more), my personal preference at the moment is Hazelcast it's insanely easy to get started. All of the caching frameworks I've listed (I think) rely on being able (at least temporarily) to be able to load the whole entry into memory, this may be an issue if you are attempting to put the contents of large files into them.

在你的情况我会problably使用disturbuted地图存储位置数据,即一些数据来告诉其他任何节点,其中一个particalar文件,然后使用一些出界法直接到该节点(如HTTP) 。

In your case I'd problably use the disturbuted map to store the location data, ie some data to tell any other node where a particalar file is, and then go directly to that node using some out of bound method such as HTTP.

这篇关于分布式系统,最好的框架?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆