我正在编写运行一堆不同程序的软件(通过twisted's twistd
);也就是说,必须在多台机器上启动 N 个不同类型的守护进程。如果我手动执行此操作,我将在所涉及的机器上运行诸如twistd foo_worker
,之类的命令。twistd bar_worker
基本上会有一个机器列表,以及我需要它们运行的守护进程。此外,我需要在需要时将它们全部关闭。
如果我要从头开始编程,我会编写一个“spawner”守护程序,它将在集群中的每台机器上永久运行,并具有以下功能,可通过网络访问以供经过身份验证的管理员客户端使用:
- 使用给定的命令行启动进程。返回一个句柄来管理它。
- 杀死一个给定句柄的进程。
- (可选)在给定句柄的情况下查询诸如 cpu 时间之类的东西。
对上述内容进行编程相当简单,但我无法想象这是一个新问题。确实有现有的解决方案可以做到这一点吗?但是,我确实缺乏服务器管理经验,甚至不知道相关术语是什么。
在 linux 集群上有哪些现有的方法可以做到这一点,以及涉及的一些重要术语是什么?欢迎使用 Python 特定的解决方案,但不是必需的。
另一种说法:给定一个局域网中的一堆机器,我如何以编程方式将它们作为一个集群工作?