我正在尝试为Rails项目分割几个服务器,其中一部分就是将Resque工作者分离出来的想法。 我已经把Redis打破了,但是在其他地方安置Resque工人是很常见的吗? 他们是否需要绑定到应用程序本身?
如果可以这样做,是否有任何通常引用的最佳实践或关于这个问题的写作? 如果没有,我最好在运行Resque工作的应用程序服务器上投入更多的内存吗?
我打算用领class来监督这一切,创造新的就业机会。
我正在尝试为Rails项目分割几个服务器,其中一部分就是将Resque工作者分离出来的想法。 我已经把Redis打破了,但是在其他地方安置Resque工人是很常见的吗?
我将会使这个更通用。 把工作加工工作者放在不同的机器上是不是很常见? 绝对。 几乎所有的作业队列处理架构中都会看到这一点。
他们是否需要绑定到应用程序本身?
不可以。应用程序可以被写入以实时读取并将更新传递给队列…并且自身不能处理更新。 他们只是应该这样做… [渴望远方] 在云端 。 无论是在一台机器上,还是在一个庞大的networking中传播,都不会影响到良好的分离devise。
如果可以这样做,是否有任何经常引用的有关这个问题的最佳实践或写作?
回答这个问题不对,但是我真的不知道。 每个人都面临着不同的挑战。 能够写一些可扩展的东西只是一个经验的衡量标准。 你可以尝试阅读其他人如何缩放应用程序的故事,并试图从中吸取教训,但是没有全面的“扩展HOWTO”。
使用松散的耦合和良好的stream程分割(在stream程图中),以便在可能的情况下将其分解。 不要过度思考。
如果没有,我最好在运行Resque工作的应用程序服务器上投入更多的内存吗?
只要你可以,没有别的东西是瓶颈,去为它。 缩放比其他任何东西都是成本/效益评估。 不过要仔细想想,是否能够达到最大限度地满足机器的要求,突然间看起来非常昂贵,以至于无法获得支持更多内存的平台。 如果你不认为你会到达那里,不要失眠。