免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: duanjigang
打印 上一主题 下一主题

详细讨论一个常见的网络工具如何设计 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2011-03-03 09:35 |只看该作者
说起安全方面的考虑,memcache还不能用来作为任务下发,他用来同步任务状态信息可以。任务下发 ...
xti9er 发表于 2011-03-02 18:49



    考虑下,呵呵,下发任务数据是在mysql中存储的,我这边做的已经属于前端通知程序了,将来的结构就是一个主程序读取mysql接口,然后调用我这个远端下发模块来实现通知

论坛徽章:
0
22 [报告]
发表于 2011-03-03 09:51 |只看该作者
我现在担心的是,反馈线程在反馈结果时,会对agent机器造成类似的DDOS攻击效果,呵呵

论坛徽章:
0
23 [报告]
发表于 2011-03-03 16:17 |只看该作者
基本上搞成了一个初级模型,但是存在以下几个问题,呵呵。希望有人帮想点办法看怎么解决?

第一:每台server都有个反馈线程反馈结果到agent机器,如果上千台及其的话,会出现短期上千台机器连接一台机器的情况,会不会造成agent机器的网络拥塞?或者说不可服务了?
第二:调度线程和工作线程通过任务队列交互(工作线程会有多个),工作线程和反馈线程通过完成队列交互。也就是说工作队列能拿到准备好执行的任务,而反馈线程能够拿到执行完成的任务,这个没错,但是如果我想增加一个需求,比如,反馈线程想跟踪正在执行任务的状态,比如某个任务执行了多久,或者说超时了,就给agent机器发送状态信息,告知这一事实的功能,在现有基础上就没法做了,不知道诸位有什么意见?
请不吝赐教,谢谢!

论坛徽章:
0
24 [报告]
发表于 2011-03-03 16:19 |只看该作者
远程执行命令的时候,可以加上一个超时机制吧。执行的命令那些耗时,那些很快就返回,你应该很清楚的。
Godbach 发表于 2011-03-01 18:51



    嗯,这样就需要异步执行,等待结果返回,呵呵,因此我弄了个反馈线程专门返回信息。调度线程在分配完任务后就立刻返回了

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
25 [报告]
发表于 2011-03-03 16:59 |只看该作者
duan 总 V5

论坛徽章:
0
26 [报告]
发表于 2011-03-07 14:56 |只看该作者
老赵虚伪,就知道说好听话,不知道发表高见
呵呵,客户端用多进程搞的,N个IP分给M个进程,每个进程N/M个,测试中···
通讯走的是ICE,后面出来性能结果了,给大家反馈下

论坛徽章:
0
27 [报告]
发表于 2011-03-09 14:23 |只看该作者
今天把文件传输测试通了,呵呵。
分析下,基本上所有的任务都能分开成文件和命令来执行。
首先把任务在控制中心写成脚本文件。
其次,把文件通过工具传输到目的机器,
最后,通过工具远程执行脚本文件。

论坛徽章:
0
28 [报告]
发表于 2011-03-09 17:24 |只看该作者
多进程遇到问题了,子进程和父进程输出的信息不能被重定向到一个文件中,悲惨喔。。
我改成多线程吧,唉。。让主线程集中输出信息

论坛徽章:
0
29 [报告]
发表于 2011-03-09 17:35 |只看该作者
我最终还是遵循了村长的原则,如果是需要异步返回结果的,就不需要客户端的主线程整理并打印运行结果信息,因此各个运行模块是独立的,运行完就退出,而且跟主线程没关系,因此采用多进程。
   如果是需要实时返回运行结果的方式,需要等待各个运行模块运行结束后,统一打印返回信息,从程序逻辑上说,这是多个运行模块协作的关系,共同完成结果列表,因此采用多线程。
  
修改下

论坛徽章:
0
30 [报告]
发表于 2011-03-10 15:49 |只看该作者
呵呵,今天把结构重构了下,发现客户端模型回到了cme_scanner的结构去,还是多线程。
区别是:
1:通讯由ssh的自动登录改成ICE的接口。
2:增加了文件传输功能。
关于cme_scanner的第一版本和第二版本请参考:

最早版本:http://linux.chinaunix.net/bbs/thread-1028015-1-1.html
第二版:http://bbs.chinaunix.net/thread-1263669-1-1.html

这个也算是第三版了吧,会带上异步回复结果的功能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP