![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构设计
文章平均质量分 79
DreamFreeLancer
这个作者很懒,什么都没留下…
展开
-
“窄接口”设计与动态类型发现
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 一个实用大型软件系统也象生活中任何一个复杂系统一样,往往需要涵盖并有机整合来自多方面的需求,除满足功能性需求外,通常还要满足系统对可扩展性(Extensibility),可维护性(Maintainabili原创 2009-05-13 14:49:00 · 2471 阅读 · 1 评论 -
系统可跟踪性(Tracibility)设计与异常处理
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 可跟踪性(Tracibility)设计是软件架构设计的重要内容之一。在面向对象系统中,对象的可跟踪是实现系统可跟踪的基本前提。在本项目中为此定义了一个接口如下:class object_id_it : pu原创 2009-05-16 14:18:00 · 2035 阅读 · 0 评论 -
异步IO框架实现之EPOLL
烽驿2009开源实时通信平台 源码获取:https://fy2009.googlecode.com/svn/trunk/ fy2009 Linux2.5.44之后,主流的异步IO机制是EPOLL--尽管基于实时信号(http://blog.csdn.net/DreamFreeLancer/archive/2009/07/27/4383193.aspx)的机制仍被支持。EPOLL是一种性原创 2009-07-28 15:53:00 · 6395 阅读 · 0 评论 -
异步IO框架
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 大型通信服务器通常要处理成千上万的并发用户,如果采用同步IO方式处理用户数据收发,意味着需要为每个用户创建一个甚至两个线程(一个接收线程,一个发送线程)。 同步IO的优点是编程简单,当用户数比较少(比如几个,最原创 2009-07-26 13:17:00 · 8649 阅读 · 3 评论 -
异步IO框架实现之实时信号(Real-Time Signal)
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only Linux下可伸缩(Scalable)的异步IO机制是什么?熟悉Linux下网络编程的人可能会不加思索地回答:当然是EPOLL。没错,EPOLL是个优秀的异步IO机制(笔者将会在专门的博文中讨论它),但那是原创 2009-07-27 10:48:00 · 5656 阅读 · 1 评论 -
引用计数与对象生存期管理
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 对象生存期管理是程序设计的一项重要内容。目前流行的对象生存期管理手段主要是各类垃圾回收(GC)机制。其优点是使用简单,程序员只需负责对象创建,而不用关心对象销毁,但垃圾回收机制通常和语言本身绑定,主要用原创 2009-05-20 09:33:00 · 1258 阅读 · 0 评论 -
可移植的线程对象
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 笔者在前面的博文中陆续介绍了本项目实现的若干基础服务,如:时间服务(http://blog.csdn.net/DreamFreeLancer/archive/2009/05/05/4150165.aspx, h原创 2009-08-14 22:30:00 · 3039 阅读 · 3 评论 -
Command模式,消息驱动与模块化设计
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 模块化是复杂系统架构设计所应遵循的基本原则之一,其目的是降低局部复杂度,便于大团队协同开发,有利于系统诊断,维护及功能复用。其中,模块划分基于所谓“高内聚,低耦合”的原则。在C语言中,通常通过CallBack函原创 2009-06-13 14:05:00 · 3170 阅读 · 1 评论 -
线程池(Thread Pool)
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 众所周知,线程并非越多越好,理论上一个CPU(或Core)一个活动线程可获得最佳性能。线程池可根据具体硬件的情况(如CPU或Core的数量)配置一个适当的线程数,从而将系统性能调到最佳,因此在可伸缩多线程Server原创 2009-08-19 23:23:00 · 2784 阅读 · 0 评论