我想在JVM上创建一个分布式应用程序,它有许多节点,需要一个库,允许我:
我找到了两个解决方案:
还有其他库可以做同样的事吗?
在k8s中,Cron Job Limitations提到无法保证作业只执行一次:
cron作业在其计划的每个执行时间创建一个作业对象.我们说"约",因为在某些情况下可能会创建两个作业,或者不会创建任何作业.我们试图使这些罕见,但不要完全阻止它们.因此,工作应该是幂等的
谁能解释一下:
P2p /网格计算似乎是一个很有前途的概念.JXTA看起来像是唯一的一个框架.这个领域是如此稀少地追求是否有原因?
来自Scala(和Akka),我最近开始研究其他用分布式计算设计的语言,即Erlang(以及一点点的Oz和Bloom).Erlang和Oz都是动态类型的,如果我没记错(将尝试查找链接),人们已经尝试向Erlang添加类型并设法键入其中的一部分,但无法成功强制系统使其适合最后一点?
Oz,虽然是一种研究语言,对我来说当然很有趣,但它也是动态类型的.
Bloom目前的实现是在Ruby中,因此是动态类型的.
据我所知,Scala(我认为Haskell虽然我认为最初是作为对纯懒惰函数语言而不是分布式系统的探索而构建的)是唯一静态类型并提供语言级抽象的语言(因为缺乏在分布式计算中更好的术语.
我只是想知道动态类型与静态类型相比是否有固有的优势,特别是在为分布式系统编程提供语言级抽象的上下文中.
比方说,我让P进程在N台物理机上运行一些业务逻辑.例如,这些进程调用了一些Web服务S. 我想确保所有P进程组合的每秒服务S的调用不超过10次.
如何实施这样的解决方案?
Google Guava的速率限制器适用于在单个机箱上运行的进程,但不适用于分布式设置.
JAVA有哪些标准的,随时可用的解决方案?[可能基于zookeeper]
谢谢!
distributed-computing rate-limiting guava apache-zookeeper apache-curator
我在多个资源中找到了不同的zookeeper定义.也许其中一些是脱离背景,但看看它们:
我曾与Redis和Hazelcast合作,通过与Zookeeper进行比较,我更容易理解Zookeeper.
你能比较Zookeeper与内存数据网格和Redis吗?
我对学习分布式计算技术感兴趣.作为Java开发人员,我可能愿意从Hadoop开始.你能推荐一些书籍/教程/文章吗?
这是我试图解决的问题:
我需要能够显示存储在多个数据库分片中的分页,排序数据表.
分页和排序是众所周知的问题,当数据来自单一来源时,我们大多数人都可以通过多种方式解决这些问题.但是,如果您要跨分片或使用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 /应用程序服务器上以对其进行排序并返回正确的页面.而且你显然不能让每个单独的分片排序并分页自己的数据片段,因为分片彼此不了解.
更复杂的是,我需要呈现的数据不能太过时,因此提前预先计算一组有用的排序并存储结果以供以后检索是不切实际的.
假设我在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被缓存吗?说我要同时缓存rdd3和rdd4,我需要分别缓存它们?
一年前,我参加了慕尼黑聚会,在那里我第一次看到了超级驱动项目,并发现它令人印象深刻.我最近还根据stumpled IPFS -the星际文件系统-我想知道的差异.在加利福尼亚州开始这样的项目时很容易产生很多反应,所以我猜他们可能是类似的项目,但仍然不完全理解hyperdrive的范围.
我非常喜欢API和实现hyperdrive,所以如果我不得不在分布式文件系统上构建应用程序,我相信在这一点上我会更容易选择该项目.
我可以使用任何地方或一些大胆的要点进行比较吗?
谢谢
distributed-computing gossip ipfs serverless-architecture hyperdrive