前段日子看了在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, 感谢原作者分享。