进程控制脚本详解
1. 系统概述
在进程监控与控制的场景中,有两个关键脚本发挥着重要作用:Friar Tuck 和 HA Monitor。Friar Tuck 相对简单,用于描述监控过程的基本操作;而 HA Monitor 脚本则更为复杂,能提供更深入的进程监控和控制代码。
Friar Tuck 还是系统的通信枢纽,通过调用friartuck.sh启动它,并向其发送信号来停止服务或强制刷新配置。若不借助此机制,完全停止整个框架将十分困难,因为需要在短时间内同时终止两个进程,否则另一个进程会将其恢复。
2. 潜在问题
- 同时终止问题:两个进程可能会在同一时间被终止,在当前的集群级别下,对此情况暂无有效应对措施。更高级的集群系统可直接与操作系统内核挂钩,处理集群的各种关键方面,但本系统仅致力于保持进程的存活。
- 进程重启平衡:系统配置方面存在一个问题,即如何平衡放弃和重启失败的进程。若进程因配置问题、内存泄漏或代码故障等原因频繁失败,让服务偶尔对外部用户可用但又不断离线,可能会适得其反。此时,允许服务失败并手动干预解决潜在问题或许是更好的选择。
- 故障诊断:使用数组存储最近故障的时间戳,可更准确地诊断问题。例如,若过去 3 分钟内发生两次故障,但上一次故障是在 3 个月前,重启服务是合理的;若服务持续失败,则最好完全禁用该服务。实现每次更新故障时间戳数组并不困难。
3. 系统结构
系统的基本结构由