前段日子看了在highscalability.com上一篇介绍facebook消息系统的文章,一夜之后被无数个网站无数次的转载,现如今facebook的任何一个话题都会引起很多人的关注,但我对只对这文章里面没有说明的部分比较感兴趣,系统里是怎么获得即时消息的?PHP监听器?开
前段日子看了在highscalability.com上一篇介绍facebook消息系统的文章,一夜之后被无数个网站无数次的转载,现如今facebook的任何一个话题都会引起很多人的关注,但我对只对这文章里面没有说明的部分比较感兴趣,系统里是怎么获得即时消息的?PHP监听器?开启很多个监听器服务?推模式?拉模式?跟Twitter一样采用消息中间件?对此有了些疑问,期待日后有人能给出明确解答。
这个叫JABase的 东东 能给我一些启示,JABase是应用在分布式IM系统中的中间件,可以支持大规模的集群环境的伸缩性架构,并采用Java语言来实现的,JABase是介于分布式数据存储(HBase/HDFS)和即时消息收发(Erlbase/XMPP Server)的一个中介体,JABase将XMPP Server中的收/发消息存放在HBase中,这点与facebook消息系统文章中提到的极为相似。另外提一下,JABase给出的方案中的IM消息服务器(XMPP Server) Erlbase是采用 Erlang 语言编写,有点像Twitter。
整个系统架构由HBase/HDFS、JABase、ErlBase 这3大部分组成,整体架构如图所示:
除了需要安装HBase和HDFS一些主要部件以外,还需要有以下一些组件支持:
– ejabberd-2.0.3.tar.gz (Erlang)
– erlbase-1.0.tar.gz (Erlang)
– jabase-1.0.tar.gz (Java)
对JABase项目的了解,结合目前采用的架构引发出2个的设想:
1、XMPP与MQ 可扩展性的比较,有时间需要坐下来跟大家讨论一下。
2、MQ的性能扩展 a)前端集成缓存 b)后端消息存储,看看这么加才对我们有真正的帮助。
相关文章:
MySQL向Hive/HBase的迁移工具
HBase入门5(集群) -压力分载与失效转发
Hive入门3–Hive与HBase的整合
HBase入门篇4
HBase入门篇3
HBase入门篇2
HBase入门篇
Lily建立在HBase上的分布式搜索
–end–
原文地址:基于Hbase存储的分布式消息(IM)系统-JABase, 感谢原作者分享。