标签: distributed-computing

JGroups的替代品

我想在JVM上创建一个分布式应用程序,它有许多节点,需要一个库,允许我:

  • 管理集群/网格成员资格,即我想在休假/加入时收到通知
  • 管理集群成员之间的消息

我找到了两个解决方案:

  • JGroups - 它可以工作,但它看起来是日期而不是广泛使用
  • Akka - 它是基于Scala的,它的集群模块看起来不太成熟

还有其他库可以做同样的事吗?

jgroups distributed-computing akka akka-cluster

15
推荐指数
4
解决办法
8265
查看次数

为什么在kubernetes cron job中可能会创建两个作业,或者可能没有创建作业?

在k8s中,Cron Job Limitations提到无法保证作业只执行一次:

cron作业在其计划的每个执行时间创建一个作业对象.我们说"约",因为在某些情况下可能会创建两个作业,或者不会创建任何作业.我们试图使这些罕见,但不要完全阻止它们.因此,工作应该是幂等的

谁能解释一下:

  • 为什么会这样?
  • 这可能发生的概率/统计数据是什么?
  • 它将在k8s的某个合理的未来被修复吗?
  • 是否有任何变通办法来防止这种行为(如果正在运行的作业不能实现为幂等)?
  • 其他与cron相关的服务遭遇同样的问题吗?也许这是一个核心的cron问题?

cron jobs distributed-computing kubernetes

15
推荐指数
1
解决办法
1399
查看次数

为什么JXTA被放弃了?还有其他选择吗?

P2p /网格计算似乎是一个很有前途的概念.JXTA看起来像是唯一的一个框架.这个领域是如此稀少地追求是否有原因?

jxta p2p distributed-computing grid-computing

14
推荐指数
1
解决办法
7968
查看次数

动态类型和编程分布式系统

来自Scala(和Akka),我最近开始研究其他用分布式计算设计的语言,即Erlang(以及一点点的Oz和Bloom).Erlang和Oz都是动态类型的,如果我没记错(将尝试查找链接),人们已经尝试向Erlang添加类型并设法键入其中的一部分,但无法成功强制系统使其适合最后一点?

Oz,虽然是一种研究语言,对我来说当然很有趣,但它也是动态类型的.

Bloom目前的实现是在Ruby中,因此是动态类型的.

据我所知,Scala(我认为Haskell虽然我认为最初是作为对纯懒惰函数语言而不是分布式系统的探索而构建的)是唯一静态类型并提供语言级抽象的语言(因为缺乏在分布式计算中更好的术语.

我只是想知道动态类型与静态类型相比是否有固有的优势,特别是在为分布式系统编程提供语言级抽象的上下文中.

erlang scala distributed-computing oz

14
推荐指数
2
解决办法
1264
查看次数

如何实现分布式限速器?

比方说,我让P进程在N台物理机上运行一些业务逻辑.例如,这些进程调用了一些Web服务S. 我想确保所有P进程组合的每秒服务S的调用不超过10次.

如何实施这样的解决方案?

Google Guava的速率限制器适用于在单个机箱上运行的进程,但不适用于分布式设置.

JAVA有哪些标准的,随时可用的解决方案?[可能基于zookeeper]

谢谢!

distributed-computing rate-limiting guava apache-zookeeper apache-curator

14
推荐指数
2
解决办法
7162
查看次数

Zookeeper与In-memory-data-grid对比Redis

我在多个资源中找到了不同的zookeeper定义.也许其中一些是脱离背景,但看看它们:

  1. Zookeeper使用的典型示例是分布式内存计算......

  2. ZooKeeper是一个开源Apache™项目,提供集中式基础架构和服务,支持跨集群进行同步.

  3. Apache ZooKeeper是一个开源文件应用程序接口(API),它允许大型系统中的分布式进程相互同步,以便所有发出请求的客户端都能获得一致的数据.

我曾与Redis和Hazelcast合作,通过与Zookeeper进行比较,我更容易理解Zookeeper.

你能比较Zookeeper与内存数据网格和Redis吗?

  1. 如果分布式内存计算,zookeeper与内存数据网格有何不同?
  2. 如果跨群集同步,那么它与所有其他内存存储有何不同?相同的内存数据网格也提供了群集范围的锁.Redis也有某种交易.
  3. 如果只是关于内存中的一致数据,那么还有其他选择.Imdg让你实现同样的目标,不是吗?

distributed-computing redis hazelcast apache-zookeeper

14
推荐指数
1
解决办法
7560
查看次数

我从哪里开始分布式计算?

我对学习分布式计算技术感兴趣.作为Java开发人员,我可能愿意从Hadoop开始.你能推荐一些书籍/教程/文章吗?

hadoop mapreduce distributed-computing

13
推荐指数
1
解决办法
1642
查看次数

如何在分布式数据上实现排序和分页?

这是我试图解决的问题:

我需要能够显示存储在多个数据库分片中的分页,排序数据表.

分页和排序是众所周知的问题,当数据来自单一来源时,我们大多数人都可以通过多种方式解决这些问题.但是,如果您要跨分片或使用DHT或分布式文档数据库或您喜欢的任何NoSQL风格分割数据,事情会变得更加复杂.

这是一个非常小的数据集的简单图片:

碎片| 数据
1 | A
1 | D
1 | G
2 | B
2 | E
2 | H
3 | C
3 | F
3 | 一世

分页到页面(页面大小= 3):

页面| 数据
1 | A
1 | B
1 | C
2 | D
2 | E
2 | F
3 | G
3 | H
3 | 一世

如果我们想要显示用户页面2,我们将返回:

D
E
F.

如果所讨论的表的大小类似于1000万行或1亿行,则不能仅将所有数据下载到Web /应用程序服务器上以对其进行排序并返回正确的页面.而且你显然不能让每个单独的分片排序并分页自己的数据片段,因为分片彼此不了解.

更复杂的是,我需要呈现的数据不能太过时,因此提前预先计算一组有用的排序并存储结果以供以后检索是不切实际的.

sorting sharding distributed-computing

13
推荐指数
1
解决办法
4922
查看次数

Spark RDD缓存会走多远?

假设我在rdd1上调用了三个RDD转换函数:

def rdd2 = rdd1.f1
def rdd3 = rdd2.f2
def rdd4 = rdd3.f3
Run Code Online (Sandbox Code Playgroud)

现在我想缓存rdd4,所以我打电话rdd4.cache().

我的问题:

只有rdd4缓存操作的结果或者上面的每个RDD都会rdd4被缓存吗?说我要同时缓存rdd3rdd4,我需要分别缓存它们?

distributed-computing apache-spark

13
推荐指数
1
解决办法
6229
查看次数

IPFS和hyperdrive有什么区别?

一年前,我参加了慕尼黑聚会,在那里我第一次看到了超级驱动项目,并发现它令人印象深刻.我最近还根据stumpled IPFS -the星际文件系统-我想知道的差异.在加利福尼亚州开始这样的项目时很容易产生很多反应,所以我猜他们可能是类似的项目,但仍然不完全理解hyperdrive的范围.

我非常喜欢API和实现hyperdrive,所以如果我不得不在分布式文件系统上构建应用程序,我相信在这一点上我会更容易选择该项目.

我可以使用任何地方或一些大胆的要点进行比较吗?

谢谢

distributed-computing gossip ipfs serverless-architecture hyperdrive

13
推荐指数
2
解决办法
1964
查看次数