欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-05-02 13:06:36
...

前段日子看了在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存储的分布式消息(IM)系统-JABase

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