基于Hbase存储的分布式消息(IM)系统-JABase

原创
2016-06-07 16:26:17 928浏览

前段日子看了在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大部分组成,整体架构如图所示:

http://ad1v6a.bay.livefilestore.com/y1poL0c8UH4bohOaHK6-n8KiF5zZKeEkE5eNAtkUTlWNPXkq72cHqVKHG9_lhkRS_tpZ8cCopWmSKWD_6fFYL0_c_H0IGMrUDwY/jabase_architecture.gif?psid=1

除了需要安装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–

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。