ruby-on-rails – Resque或Gearman – 为后台工作选择正确的工具

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Resque或Gearman – 为后台工作选择正确的工具前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在开发一个Web应用程序,其中约50%的写入请求,我们最终将数据推送到多个数据存储,并在这些数据存储中插入和更新大量记录.为了提高响应时间,我们希望在后台异步处理这些请求.

我们的Web应用程序正在用Ruby on Rails编写.

我倾向的两个解决方案是Resque和Gearman.

Resque:更多信息:http://github.com/blog/542-introducing-resque
Resque似乎非常适合Ruby,它专门用于后台处理. “后台作业可以是响应执行的任何Ruby类或模块,您现有的类可以轻松地转换为后台作业,也可以专门创建新类来进行工作.

Gearman:它不是专门用于异步处理的后台作业,但这是绝对可以做的.显然更强大,或者似乎. Gearman的另一个优点是,虽然您的客户端代码可能在Ruby中,但是工作人员代码可能就在PHP中.虽然现在我们完全是Ruby on Rails应用程序,谁知道如果将来我们可能会想要使用PHP或其他方面取决于手头的工作.

你会推荐什么你有两个经验吗?在两者之间选择时,我应该牢记什么现实生活中的生活挑战?我甚至在这里比较苹果和苹果?

解决方法

当我正在寻找一种可以为异步提供工作负载分配的分布式分拣机制时,我对Gearman有一些经验.在集群环境中处理.

我可以告诉你,在“模拟”案例中,异步处理被分派到2台机器(每台机器上的2名员工= 4名工人).不是在一个真实的情况(无论告诉你).当“模拟”提供有用的信息时,实际情况将被实现.

您要选择的机制只是工作负载分配中的一个因素,因此,当并行工作的分布式“工作者”开始在数据存储上写入时,请确保不会遇到损坏或无效的数据.

我建议采取我所做的“模拟”方法,并在决定使用哪种方法之前进行测试.

问候,

猜你在找的Ruby相关文章