集群机器管理

集群机器管理

我们的初创公司运行多个托管在 JBoss AS 上的服务。这些服务根据其业务进行区分,并为了实现高可用性和可扩展性而进行集群化。

我正在寻找能够:

  1. 获取一组将托管我的服务的 Linux 机器作为输入,
  2. 获取每个服务的实例数作为输入,
  3. 自动将服务部署到Linux机器上,
  4. 根据一些预定义的规则检测并响应故障(重新启动、在备份机器上安装服务等)。

有什么建议么?

答案1

如果没有更多关于您的要求的信息,我建议您研究一下木偶厨师处理第 1、2 和 3 项。

第 4 项稍微难一点——您需要一个监控系统(在这里查看,或者询问谷歌。您会得到很多建议),如果您想要自动响应,您的监控系统将必须为其他系统提供信息以采取行动。
这不需要太复杂——我已经使用以下方法实现了类似的东西地图绘制者:检测到故障时,InterMapper 会运行指定故障系统的“命令行通知程序”。命令行通知程序只是一个 shell 脚本,它以系统名称作为参数并重新启动系统,如果重新启动失败,则会发送电子邮件。

答案2

从 1 到 3 同意 @voretaq7、Chef、Puppet 或任何自动化配置管理软件。请注意,这些并不都适合您的需求,配置管理软件有时是一个过于模糊的术语。

对于最后一个,也许可以使用一组好的脚本Nagios 事件处理程序这些基本上是当监视器发出警告或严重情况时尝试修复问题的脚本。

答案3

由于您正在使用 JBoss,您应该考虑JON,Jboss 运营网络。 您可以将其与RHN 卫星拥有完整的端到端部署能力。 红帽 Cloudforms是同类产品中较新的一款产品。Cloud Forms 更适合用于管理内部云部署。

至少 JON 可能会处理您正在寻找的许多选项,并且可以使用许多开源工具(例如 Puppet、Chef、PXE 等)来处理一些较低级别的需求。

相关内容