ITPub博客

首页 > 大数据 > Hadoop > 消息队列的使用场景之RabbitMQ

消息队列的使用场景之RabbitMQ

原创 Hadoop 作者:xuexiaogang 时间:2021-12-11 11:21:05 0 删除 编辑

自己原文公众号: https://mp.weixin.qq.com/s/gjZk3vXvrJIYghDjYDYzuw


安装Rabbitmq的步骤不详细说了。

但是主要的要说说。

第一步安装erlang,没有这个不行。而且这个erlang和rabbitmq的版本有对应关系。

最重要一点网上很多帖子资料要去rabbitmq官网下载,会发现官网的那些页面都没有了。

所以安装变成了一个问题。想当年谁在linux上安装一个Oracle就是个高手(因为安装太复杂了)

在windows上安装Oracle还是比较舒服的,和安装QQ差别不太大。

如今就连Oracle都一键安装了,这个需要官方考虑考虑了。不然就erlang和rabbitmq的版本对应关系就不好解决。

说到这个不得不说当初CDH在我没有整包安装情况下,hbase、hive等等的安装是非常痛苦的。


上图显示了至少这个版本的两个软件是兼容的

我们用命令行来写一条数据看看.


再用代码写一条数据。这里我特意写的节点是集群的另外一台机器,故意和命令行写入的不是同一台机器。目的是验证说明每个节点都可以写入。

其实命令行和代码都可以读写,只是目前命令行的读取只有查询没有消费的功能(网上写的实测是报错的)这里用代码从另外一台机器(非代码写入的机器上)上读取

看上去其实和数据库差不多。数据库就是负责数据的写入和读取(简单的来说),我们发现MQ也差不多。就是不支持SQL。

当然也有支持SQL的消息中间件。日后会介绍将来可能一统天下的PULSAR。

既然说到这里那什么时候用这个呢?个人觉得,如果说 系统解耦可以用用。但是一般我觉得解耦的关键还是在设计,而不是靠消息队列。

如果说用在异步调用也可以用用,但是我觉得能同步的还是同步吧。我见过不少的本来同步处理的,后来由于对数据库没有信心走异步,反而造成了锁。因为消息队列不能绝对的保证顺序。但是数据库可以。

如果说为了流量削峰,那么你业务量超过了数据库单机的处理能力,那么用吧。不过这种企业在中国也不多。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/637517/viewspace-2847173/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
OracleACE/PostgreSQLACE/阿里云MVP/腾讯云TVP/墨天轮 MVP/TiDBMVA/数盟会华东区长老/OpenTenBase社区委和技术委委员/架构师技术同盟名人堂成员上海地区理事会成员/if社区联合发起人/《DBA实战手记》作者/公众号:四海内皆兄弟

注册时间:2013-07-01

  • 博文量
    422
  • 访问量
    953182