Jabber开源的XMPP服务器,用C编写;Tigase也是开源的XMPP服务器,用java开发。
从其架构的对比来看,Jabber允许分布式部署;Tigase则不行,Tigase属于紧凑型的,处理IM消息能比较及时,并且Router也没有明显的瓶颈,也省去了多余的XML解析过程。效率对比来看,c语言的那点优势被抵消了。
从运行层面来看,Jabber不支持多线程,并发程度不及拥有线程池机制的java开发的Tigase。
从代码结构来看,Jabber用c开发,进行维护比较难,扩展也比较难;Tigase则是用面向对象语言开发,结 构性问题不突出,维护以及扩展对比较方便。
从数据库访问来看,Jabber很多地方还是同步访问数据库,也没有一个大优化的空间,Java却有Hibernate等组件可用,简化数据库访问。
并且Jdk中的开发包越来越丰富,很多系统编程的特性也逐渐得到支持。
由此看出,大型服务器系统框架层次还是可能用java,某些细节的模块,性能关键的部分可能会使用C/C++开发。
当然C++也可以用作大型服务器系统的架构型语言,同时也有一些开源框架可用,如ACE等。但是它有些不可避免的问题,如调试不方便,内存泄露严重等。
现在越来越多的开源项目是用java开发的。
阅读(13240) | 评论(0) | 转发(0) |