一个分布式的命令执行系统,大家来提提建议
ghw 2004-10-25 03:57:23 一个分布式的命令执行系统,大家来提提建议
硬件环境:已有一个大型的分布式系统(分布在几十个节点,每个节点都有linux工作站)。
需求描述:在各个节点的linux工作站上使用linux命令探测指定的服务器,比如使用ping、traceroute、dig等,然后分析这些返回的结果(不同类型的结果数据有不同的分析方法)。
我的软件划分及工作方式设想如下:
1. 软件分为中央任务生成,中央任务下发,节点任务执行,节点结果传送,中央结果分析
中央任务生成:使用web application方式,由配置人员使用,可配置信息例如linux命令参数、任务执行频率等等。
中央任务下发:使用web service方式,中央把xml格式的任务(包括配置信息)下发到各个节点的linux工作站。
节点任务执行:使用application方式(因为某些命令的执行时间比较长,使用web方式可能会超时),执行中央下发的任务,同时生成结果文件存储。
节点结果传送:把“节点任务执行”生成的结果文件传回到中央。
中央结果分析:按照结果的类型调用不同的分析方法,分析传回中央的结果文件,生成分析结果。
2. 考虑到系统的可靠性要求,在如下位置添加监控:
节点任务执行:任务执行失败的情况下在本地文件系统写日志文件,并发送消息到中央报警。
中央结果分析:发现节点发送上来的结果文件内容无法分析则记入日志后报警。
请大家帮我想想系统中还有什么问题?
另外觉得“节点任务执行”中棘手的问题比较多,比如对任务执行频率的控制(例如某些任务需要1分钟执行一次,某些任务需要5分钟执行一次),另外接到多个任务后如何考虑并发执行等等。
大家讨论讨论,给我点指导思路