试玩rabbitmq

首先说明一下,本人玩这个东西还不到两天,只是试验性的用了一下,不过感觉上还不错。

rabbitmq是什么?

简单来说,它就是一个消息队列。我们可以用一个程序扔消息进去,然后可以在另一个程序获取这个消息。

为何使用rabbitmq而不是用redis?

这个问题是一开始选择使用rabbitmq的时候的一个纠结的地方,因为消息队列,redis的队列也可以实现。让我决定使用rabbitmq的原因在于几个点。

1. rabbitmq有一种应答机制,客户端在接收到消息后要主动回应,消息才算处理了,不然下次重新获取信息还会获取回来。而redis用pop获取信息后,信息就没了。

2. 持久化,重启服务消息还在。(当然redis也可以持久化)

3. 灵活的接收机制,多种接收模式。

安装和简单的命令

参考的网址:

https://www.erlang-solutions.com/resources/download.html

https://packagecloud.io/rabbitmq/rabbitmq-server/install

https://github.com/rabbitmq/chef-cookbook/issues/189#issuecomment-69878404

我是用docker,镜像是centos7测试的。

第一步,安装erlang

wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc

yum install epel-release

第二部,安装rabbitmq

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | /bin/bash

yum install rabbitmq-server

启动rabbitmq

rabbitmq-server start

停止rabbitmq

rabbitmqctl stop

列出rabbitmq的插件

rabbitmq-plugins list -v

启动一个插件(以rabbitmq的web版管理插件为例,启动后可以通过http://127.0.0.1:15672访问管理,添加插件要重启rabbitmq)

rabbitmq-plugins enable rabbitmq_management

注意web版管理界面默认使用账号guest和密码guest登陆,但是只允许本地访问,为了远程访问,请在/etc/rabbitmq/rabbitmq.config文件加入[{rabbit, [{loopback_users, []}]}].

并且重启rabbitmq


web管理界面截图

rabbitmq的一点点理解

有一个生产者源源不断的生成消息扔到rabbitmq,有一个消费者源源不断的从rabbitmq中获取数据。而rabbitmq作为消息的传递者,使用交换器和队列来实现消息传递。交换器负责把消息投递到各个队列,消费者在队列等着消息过来就好。


rabbitmq肯定有更强大的功能,只是本人刚刚接触,没办法挖掘核心部分,不过总的来说业务驱动技术,等有对应的需求再挖掘响应的功能也不迟。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 关于消息队列,从前年开始断断续续看了些资料,想写很久了,但一直没腾出空,近来分别碰到几个朋友聊这块的技术选型,是时...
    预流阅读 585,501评论 51 786
  • 1.RabbitMQ概述 简介: MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法...
    梁朋举阅读 50,303评论 0 47
  • Yum安装RabbitMQ3.6.11与Erlange20配置及优化 RabbitMQ简介 AMQP,即Advan...
    三杯水Plus阅读 4,642评论 0 7
  • rabbitmq有3种模式,集群模式2种• 单机模式:即单机情况不做集群,就单独运行一个rabbitmq而已。...
    嗷大彬彬阅读 4,080评论 1 9