首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于分布式计算的Ruby库?

用于分布式计算的Ruby库?
EN

Stack Overflow用户
提问于 2013-09-01 14:06:56
回答 1查看 1.4K关注 0票数 3

我正在为Ruby中的实时数据分析任务开发一个算法。由于数据集相当大,所以瓶颈是CPU。因此,为了达到所需的性能,我必须并行使用更多的内核,可能是在不同的机器上。

我的问题是,是否有一个现有的Ruby库提供以下特性:

  • 集群管理,理想的无主从,具有动态重新配置(连接和离开节点)和一定程度的容错性。
  • 将计算作业分配给(活动)节点、错误处理(作业重试等)
  • 快速(直接?)通信以确保实时功能

我已经看过的东西:

  • DRb:太低层次,手动节点处理,没有容错?
  • DCell:成熟?自动集群管理?
  • Resque/Sidekiq:不错,但是太慢了(轮询Redis,睡眠工人,.)
  • Riak /Reduce:不错,但不推荐用于实时查询。
  • 火花:复杂的东西,企业?

最后的办法:也许除了其他平台之外,Ruby没有解决方案?也许是Java (是的,JRuby!)或node.js.

EN

回答 1

Stack Overflow用户

发布于 2013-11-13 04:52:19

如果您发现自己遇到了CPU限制的问题,它将受益于更大的规模和更大的并发性,我强烈建议您检查一下围棋语言。并发性和并行性并不是Ruby的强项,在我的经验中,试图使它们工作总是一场艰苦的战斗。

你会发现,有了Go,你就能更好地扩展到多核和多台机器,在围棋例程之间有很好的通信,以及一个非常好的基于并发的路由器。

关于Go中并发性的介绍,我将查看罗伯·派克的“并发不是并行”的说法。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18559202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档