博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mooon-agent设计要点
阅读量:6694 次
发布时间:2019-06-25

本文共 444 字,大约阅读时间需要 1 分钟。

mooon-agent以简约的设计为主,力求各对象之间保持简单的关系,尽量避免过度的传递,因此CAgentThread成了核心。除此之外,还有几个关键的设计点:

1、采用了可Epollable的队列,以保证消息的实时上报
2、使用了状态机,分别为发送消息的CSendMachine和接收消息的CRecvMachine,保证所有过程是异步非阻塞的,同时又使得代码简洁
3、对下行消息处理的抽象,以达到通用的目的
4、使用了NetInt,使用得消息网络字节序问题迎刃而解
 
保证Agent做好的前提:
1、充分的设计,追求对象间的关系最简化
2、有限的设计,每个阶段控制功能数,鄙弃一步到位的思想,比如上报心跳这个功能,那需要同时支持发送简单的心跳,也要支持发送富心跳(附带数据的心跳,如CPU使用率等),这样做会导致第一版本难以收敛,会导致设计扩张

 

    本文转自eyjian 51CTO博客,原文链接:http://blog.51cto.com/mooon/910305,如需转载请自行联系原作者

你可能感兴趣的文章
<ps> ps aux 和ps -aux和 ps -ef的区别和选择
查看>>
Microsoft Office Web Apps Server2013 For Lync2013 PPT部署安装
查看>>
2012 多用户远程
查看>>
电脑蓝屏代码含义
查看>>
大三现在,大四第一学期就要实习
查看>>
最基础的一些入门级Android源码例子整理
查看>>
解决grails一些莫名其妙的错误com.sun.proxy.$Proxy35
查看>>
强大的文件搜索工具
查看>>
jQuery使用要点
查看>>
java字符编码转换研究(转) 第一部分收藏
查看>>
(网上抄录)python的os模块和os.path模块
查看>>
手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单
查看>>
Linux下jvm时区设置-JAVA时区问题
查看>>
first note
查看>>
bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
查看>>
nutch不适合做垂直爬虫
查看>>
ITK读取裸数据方法
查看>>
Origin 9.0科技绘图与数据分析超级学习手册 上市
查看>>
mysql 使用innodb引擎
查看>>
使用decj简化Web前端开发二:声明式表单增强和页面初始化
查看>>