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

21 篇文章 0 订阅
前段日子看了在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)后端消息存储,看看这么加才对我们有真正的帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Elasticsearch与HBase分布式数据存储系统是一种结合了Elasticsearch的全文搜索能力和HBase的高可靠性与扩展性的解决方案。 首先,Elasticsearch是一个开源的全文搜索引擎,具有快速、实时的搜索和分析能力。它使用倒排索引的方式组织数据,可以高效地处理大量的文本数据,并提供丰富的搜索功能,如全文搜索、过滤、聚合等。而HBase是一个面向大规模数据集的分布式数据库,可以在成百上千台机器上存储和处理海量数据,具有高可靠性和可扩展性。 基于Elasticsearch与HBase分布式数据存储系统结合了两者的优势。首先,它使用HBase作为底层存储引擎,保证了数据的高可靠性和扩展性。HBase使用分布式文件系统存储数据,可以将数据分散到不同的节点上,保证了数据的冗余和容错能力。同时,它也支持水平扩展,可以根据数据量的增长动态地增加节点,满足不断增长的数据需求。 其次,系统利用Elasticsearch的全文搜索能力对数据进行索引与搜索。在数据写入HBase之前,会先经过预处理,将数据转换为适合Elasticsearch索引的格式,并建立相应的索引。当用户进行搜索时,系统会将搜索请求发送给Elasticsearch服务进行处理,并返回相关的搜索结果。 此外,系统还提供了数据同步和数据迁移的功能。通过定期的数据同步任务,可以将HBase中的数据同步到Elasticsearch中,保持两者数据的一致性。同时,也支持数据的增量同步,可以根据用户配置的规则将新增或更新的数据自动同步到Elasticsearch中。对于已有的数据,系统也提供了数据迁移的功能,可以将已有数据导入到Elasticsearch中,以便进行全文搜索等相关操作。 总的来说,基于Elasticsearch与HBase分布式数据存储系统利用了两者各自的优势,同时提供了高可靠性、高扩展性和全文搜索等功能,适用于处理大规模数据集和对搜索有高要求的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值