协调多个服务器之间的任务

Posted

技术标签:

【中文标题】协调多个服务器之间的任务【英文标题】:Coordinating tasks between multiple servers 【发布时间】:2009-01-06 19:58:33 【问题描述】:

是否有有助于在多个服务器之间协调任务的实用程序/库?对我来说,我需要运行计划任务,在服务器之间复制大量数据,并重新启动进程(在集群中不同机器上发生的一系列相关操作)。

我可以使用 cronjobs 和批处理脚本,尽管我不禁想到有一种更强大、更优雅的方式来解决这个问题。

【问题讨论】:

你能说得更具体点吗?什么操作系统?视窗? Linux? Unix?混合? 【参考方案1】:

Capistrano 是一个跨服务器自动执行任务的工具,它完全可以满足您的要求。它是用 Ruby 编写的,并使用 SSH 与其他机器通信。

【讨论】:

【参考方案2】:

如前所述,Capistrano 可用于自动执行任务。它最初是为了一致地部署 Rails 应用程序而编写的,但它已成为一个非常强大的系统管理工具。不过,它通常最适合临时命令和应用程序部署。如果您需要使用一致的配置工具管理多个系统,我建议Puppet。

我们使用 Puppet 来管理 Rails、Django 和基于 php 的 web/db/app 服务器的整体系统配置,我们使用 Capistrano 进行应用程序部署和单个命令(例如在配置更改后运行 Puppet)。

【讨论】:

以上是关于协调多个服务器之间的任务的主要内容,如果未能解决你的问题,请参考以下文章

等待与唤醒机制(线程之间的通信)

zk干货

正确协调两个进程之间的状态

如何协调 Flux 和 React 之间的服务器错误消息?

如何协调 Flux 和 React 之间的服务器错误消息?

线程之间的通信