14、集群系统的任务重启、通信及应用探索

集群系统的任务重启、通信及应用探索

1. 主任务重启策略

当子任务终止时,会向其父任务发送信号,但如何检测父任务的终止呢?根据父任务的启动方式,有几种处理方法:
- 高级启动进程 :开发一个高级启动进程,其职责是启动所有通常在最高级别运行的进程,并对它们进行监控,若有进程失败则重启。
- 操作系统启动并重启 :让操作系统启动进程,并指定在进程失败时重启。可以通过系统文件 /etc/inittab (以 root 用户身份)将自己的可执行文件添加到特定运行级别启动(必要时重启)的进程列表中。不过,使用这种技术的缺点是进程可能难以终止。
- 检测“心跳” :主进程的父进程可以检测子任务的终止,对于远程节点上运行的从进程的终止检测和恢复,可以利用“心跳”机制。从进程激活后会向主进程注册,二者之间存在未使用的 UDP 通信链路。从进程每秒向主进程发送一个 UDP 数据报(即“心跳”),主进程记录每个从进程最后一次收到消息的时间。每次有查询到来时,主进程扫描这些时间,若某个从进程在可配置的时间内未被收到消息,则通过其 UDP 服务端口重启该从进程及其本地子任务。

graph LR
    A[主进程] -->|注册| B[从进程]
    B -->|每秒发送 UDP 数据报(心跳)| A
    A -->|扫描时间| C{是否超时}
    C -->|是| D[重启从进程及其子任务]
    C -->|否| E[继续监控]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值