美文网首页
rabbitmq入门(一)简介和安装

rabbitmq入门(一)简介和安装

作者: hlchengzi | 来源:发表于2019-08-13 14:45 被阅读0次

1,简介:
RabbitMQ 是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用 Erlang语言来编写的,并且RabbitMQ是基于AMQP(AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计))

应用场景(能做什么)

rabbitMQ实现消息推送,rabbitMQ为异步消息处理提出了一个很好的解决方案,它是一个非常好用的消息中间件。主要解决当生产者大量产生数据时,消费者无法快速消费的问题。这个时候需要一个中间层,保存这个数据,rabbitMQ是一个很好的解决方案。
1、注册时发送邮件或发送短信
2、日志分析使用,多个服务产生的数据发送到中间件发送到分析服务。
3、消息复制,用于跨机房数据传输、搜索、离线数据计算等。
4、延迟消息发送和暂存,把中间件当成可靠的消息暂存地。接受消息,暂时先不发送。

总的来说,redis作为一个消息中间件,可以实现系统解耦(将生产者和消费者分割开来),作为中间缓存可以实现流量削峰

rabbit模型:

rabbit模型

生产者:发送消息
交换机:将收到的消息根据路由规则路由到特定队列
队列:用于存储消息
消费者:收到消息并消费

rabbit当中消息的流转过程

rabbit当中消息的流转过程
相关概念

Message:消息,服务器和应用程序之间传送的数据,由Properties和Body组成。Properties可以对消息进行修饰,比如消息的优先级、延迟等高级特性;Body则是消息体的内容

Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列(交换机,接收消息,根据路由键转发消息到绑定的队列)。

Queue:消息队列载体,每个消息都会被投入到一个或多个队列。

Binding:Exchange和Queue之间的虚拟连接,binding中可以包含routing key。

Routing Key:路由关键字,exchange根据这个关键字进行消息投递;一个路由规则,虚拟机可用它确定如何路由一个特定消息。

vhost:虚拟地址,用于进行逻辑隔离,最上层的消息路由。同一个Virtual Host里面不能有相同名称的Exchange或Queue。

Producer:消息生产者,就是投递消息的程序。

Consumer:消息消费者,就是接受消息的程序。

Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道。客户端可建立多个Channel,每个Channel代表一个会话任务

工作过程:

消息队列的创建过程

1,客户端连接到消息队列服务器,打开一个channel(每个chanel代表一个会话任务)
2,客户端先后声明exchenge和queue,并设置其相关属性
3,客户端使用routing key,在exchenge和queue之间建立绑定关系

消息队列的使用过程

1,投递消息
客户端投递消息到exchenge里面
2,取消息
建立连接以后即监听相关queue,里面有消息则取出处理

rabbit安装过程

1.centos7中安装RabbitMQ
1).首先需要安装erlang
rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
yum install erlang
安装过程中会有提示,一路输入“y”即可。

2).完成后安装RabbitMQ:
先下载rpm:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
下载完成后安装:
yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm
完成后启动服务:
service rabbitmq-server start
可以查看服务状态:
service rabbitmq-server status

****启动命令

service rabbitmq-server start#查看状态
service rabbitmq-server status#停止
service rabbitmq-server stop#重启

service rabbitmq-server restart

****启用插件,开放端口

rabbitmq-plugins enable rabbitmq_management
iptables -A INPUT -p tcp -m st

****配置用户

新增用户 admin 密码 adminpassword
rabbitmqctl add_user admin adminpasspord
分配角色
rabbitmqctl set_user_tags admin administrator
更改密码
rabbitmqctl change_password admin 123456

****卸载rabbitmq

卸载前先停掉rabbitmq服务,执行命令
service rabbitmq-server stop
查看rabbitmq安装的相关列表
yum list | grep rabbitmq
卸载rabbitmq已安装的相关内容
yum -y remove rabbitmq-server.noarch
卸载erlang
查看erlang安装的相关列表
yum list | grep erlang
卸载erlang已安装的相关内容
yum -y remove erlang-*
yum remove erlang.x86_64
卸载完之后就可以重新安装了

otp包安装方式如下:
https://blog.csdn.net/java_1996/article/details/86600980

相关文章

网友评论

      本文标题:rabbitmq入门(一)简介和安装

      本文链接:https://www.haomeiwen.com/subject/ilpydctx.html