我对排队系统很陌生。我正在使用resque与我的当前应用程序,我有三个队列要监测。我想知道运行和管理高效率工作的最佳方法是什么。提出这个问题的原因是,我对开发者在互联网上提出的这么多选项感到有点困惑。更具体地说,我对这两种策略感到困惑。
如果我能单独与上帝一起管理工人,为什么我需要精良的游泳池呢?
发布于 2016-06-11 08:28:48
Resque被设计用来处理后台作业,基本上是用来处理排队时间较短的任务。
这幅画是用来代替“迟到的工作”的。当你的背景工作增加时,你应该选择Resque。
现在,在讨论监控之前,我想先谈谈Resque是如何工作的。
为什么我们需要它,什么时候:人们有他们的需求,就像一个工人,每个叉子多个工作。人们想要这些东西,所以这些插件是帮助满的。
您可以遵循给出的链接,这些链接对我帮助很大: Redis Persistence:http://redis.io/topics/persistence
Resque如何使用Redis:http://girders.org/blog/2011/10/30/how-queuing-with-resque-works/
Resque:https://github.com/resque/resque-web
教程:http://www.sitepoint.com/simple-organized-queueing-with-resque/
多个redis服务器:多个Redis数据库的意义是什么?
redis-数据库
Resque-调度程序:https://github.com/resque/resque-scheduler
管理员工的资源池:https://github.com/nevans/resque-pool
Resque-多任务-叉:https://github.com/stulentsev/resque-multi-job-forks
在生产中部署:如何在生产中部署工人? Deploy工人在生产中?rq=1
发布于 2016-06-11 05:55:04
运行作业通常是异步任务。这意味着你不会等待他们完成你的要求或任何所谓的工作。
由于作业的性质是异步的,这可能意味着在某一时刻,您一次请求几个作业。由于CPU的限制,这些作业要么找到繁忙的cpu,要么等待,要么失败。
内存池是一种使它们保持一致的方法,一次只执行一次。如果失败,他们有时会进入重试模式,等等。
上帝是一个守护进程监控工具。它将监视作业‘服务器’,以允许接受作业,但不一定要处理失败,或者按它们进入的顺序处理作业等等。
塞德基是一个很好的工具,它试图将所有这些封装在一起。还有一篇关于它的报道,很好地解释了如何使用它(尽管它可能有点老了):http://railscasts.com/episodes/366-sidekiq
https://stackoverflow.com/questions/37760383
复制相似问题