忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
楼主: duanjigang

谈谈你接触的通讯程序的模型 [复制链接]

论坛徽章:
0
发表于 2011-01-11 15:14 |显示全部楼层
回复 45# 一介村夫


   嗯。没错。关键是合适的场景选择合适的模型,其中一个线程出现问题,一个进程都会崩溃。多个进程则不会出现同样的问题,apache就是多个子进程干同样的事情。

论坛徽章:
0
发表于 2011-01-11 15:19 |显示全部楼层
回复 47# duanjigang


如果将读和写分别放在不同的进程中,就意味着server和client至少保持一个连接,代价是不是太高啦?如果将读和写分别放在不同的线程中,只需要保持一个连接。

论坛徽章:
0
发表于 2011-01-11 15:21 |显示全部楼层
回复 44# duanjigang


  是的,没错。

通讯层就是类似于数据中间件,负责client与业务处理层面的数据接受与发现。如果涉及到udp的话,采用这种方式似乎有些困难额。

论坛徽章:
0
发表于 2011-01-11 15:23 |显示全部楼层
回复 46# duanjigang


    我认同将通讯和业务进行分离,通讯只负责数据的接受;业务负责处理数据,很大情况下,业务处理出现崩溃的情况更多一些。

论坛徽章:
0
发表于 2011-01-11 15:30 |显示全部楼层
回复 48# swxlion


    64位,8核,16G内存

论坛徽章:
0
发表于 2011-01-11 15:32 |显示全部楼层
该版内有很多牛人额。继续学习,继续接受大家的BS哈。

继续去找工作哈。

论坛徽章:
0
发表于 2011-01-11 17:55 |显示全部楼层
拜读学习。。。

论坛徽章:
0
发表于 2011-01-11 23:28 |显示全部楼层
多线程。。。一旦core掉就悲剧了。。。。。。

所以我们的都是多进程的,而且有专门的维护进程定期监控各任务进程的状态。

我们的模型很简单,tcpSvr接到链接后派生相应的XXXTask进程完成请求的功能,完成后推出。或者可以预先启动数个XXXTask进程等待tcpSvr的任务分派。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
发表于 2011-01-12 00:24 |显示全部楼层
本帖最后由 gvim 于 2011-01-12 00:25 编辑
多线程。。。一旦core掉就悲剧了。。。。。。

所以我们的都是多进程的,而且有专门的维护进程定期监控各 ...
logicBaby 发表于 2011-01-11 23:28


简单的异常监控,如果是unix下的采用父子模式,我目前用的一种监控方案是用子进程事件来管理,比如user1,user2,SIGCHLD,父进程就可以作为各子进程的维护进程。这样不用定期,反正子进程有异常了事件就过来了。
当然,这样做是比较粗略的监控方式。如果要做精细监控就不合适了。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
发表于 2011-01-12 01:19 |显示全部楼层
呵呵,请教一个问题,多线程,多进程,相当于单线程有什么优势?通讯性能更高?还是程序的处理逻辑更简单?givm熊能否说点详细的感受。谢谢
如果用单线程的话,都不需要进程的切换
duanjigang 发表于 2011-01-03 10:22


优势不少,劣势在内存上。
一般用途的通讯服务器必然涉及并发处理,所以很难看到有单线程的通讯服务产品。只要涉及并发,不管是进程还是线程都要切换。比较新的unix/linux基本切换开销相差很小,当然并不是说没有差距。我测过适合我的服务负载的吞吐差别不大,PC 4核4G,测试目标好像是2000还是3000并发,记不太清楚了。
摩尔定理也是设计上的预测,如果可以通过加强机器性能,我宁愿选择代码的维护,扩展和进程任务的相对单一性。
就如同用烂的OOP一样,更多的设计增加了层,也增加了复杂性。当然,依据设计对象不同也可能是必须的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP