??? 东北四人麻将游戏:Openfire 性能调优和集群方案 - 东北麻将玩法

Openfire 性能调优和集群方案

Openfire 是使用JAVA并基于MINA框架实现的XMPP服务端程序,所以基本的性能调优主要集中在 系统、JVM 这两层; 主要的指标也是并发用户数和消息投递成功率和耗时 。

建议: 如果你的产品目标是在线用户超过100K,那么最好早点考虑openfire之外的其他XMPP实现吧,比如 ejabberd ? 等等,erlang比java更适合做并发。  总的用户量多少不会是大问题,你可以通过分片等来解决,但在线用户和并发消息的处理能力,需要考虑多种不同方案。

关于这个部分,推荐一篇博文:

Openfire 性能优化

http://blog.csdn.net/smm11230704/article/details/7468010

Openfire集群方案

Connection Manager  http://www.igniterealtime.org/projects/openfire/connection_manager.jsp

实际上CM并不是一个集群方案,只是openfire官方提供的一个用来扩展openfire连接能力的工具;

CM 项目由 Guus(http://community.igniterealtime.org/people/Guus) 负责,官方数据表示一个CM可以连接至少5K个客户端,CM主要负责建立和维护与客户端之间的连接,其他业务逻辑处理都由后面的openfire完成,二者之间会维持会话;一个Openfire可以连接多个CM ,从而提高在线用户数。

但我个人的问题是如果你无法预测连接到CM1上的用户与连接到CM2上的用户发送消息的频率,那么这个CM的作用还是非常有限的,相当于登陆上QQ了,但发消息很慢,当在线用户多的时候。

Oracle Coherence / clustering plugin

http://www.igniterealtime.org/projects/openfire/plugins/clustering/readme.html

这个是最早也是官方一直在维护的集群插件,基于分布式内存共享模型,所以使用了Coherence,因为版权以及其他各方面的问题,此插件已经从3.7版本后开始被放弃了。实践中很多人也是使用这个插件,其实我个人觉得此插件带来的性能增长并不会非常显著,也无法做大大量的结点扩展。

Terracotta http://terracotta.org/

这是一个比较通用的分布式内存共享项目(Terracotta本身是解决实时大数据分析的),有一些人用来支持openfire的集群扩展,但门框较高,不是被推荐的方案之一。

Hazelcast   http://community.igniterealtime.org/message/224947

这个是目前比较火的一个插件,很多人在尝试使用,性能未知,请参考上述链接。

open-clustering https://code.google.com/p/open-clustering/

这是一个典型的插件项目,干净整洁,只要放入plugins目录即可,在后台做基本设置就可以开启集群功能。项目的目标是“To provide a complete open source clustering plugin for Openfire with no dependecies on Oracle Coherence or any other closed component” 。  值得去尝试,但性能依然未知。

zkfire  https://code.google.com/p/zkfire/

这是一个作者实验性的项目,借用zookeeper 来实现的集群方案,有待进一步验证。

参考:

JGroups, Terracotta & Hazelcast

http://stackoverflow.com/questions/11404688/jgroups-terracotta-hazelcast

Hazelcast Performance vs MongoDB, Cassandra, Terracotta and Oracle Coherence

http://www.hazelcast.com/resources/hazelcast-performance-vs-mongodb-cassandra-terracotta-and-oracle-coherence/

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。

http://www.wquz.com.cn/style/images/nopic.gif
?
分享
评论
东北麻将玩法