【RabbitMq 简单介绍及安装】

1、MQ的相关概念

1.1 什么是MQ
MQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常见的上下游“逻辑解耦+物理解构”的消息通信服务,使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。
2、理解消息队列

消息 就是两台计算机间传送的数据单位;本质上就是一段数据,它能被一个或者多个应用程序所理解,是应用程序之间传递的信息载体。消息可以非常简单,例如只包含文本字符串;也可以更复杂地嵌入对象。

队列 是数据结构中概念。在队列中,数据先进先出,后进后出,犹如排队做核酸。

消息队列 MQ是把消息和队列结合起来,称之为消息队列(Message Queue)。把要传输的数据(消息)与队列进行绑定,用队列先进先出机制来实现消息传递。消息队列由 生产者 和 消费者 两部分构成;生产者主要负责产生消息并把消息放入队列中,再由消费者去处理。消费者可以到指定队列中获取消息,或者订阅相应的队列,最后由MQ服务端进行消息推送。
什么是订阅?订阅就是为消费者服务的,消费者提前订阅,当消息队列中有消息产出时,自动去获取消息进行消费。生活中有很多这种例子,比如购买腾讯、优酷等视频会员时就会有订阅模式,当你的会员到期时,会自动帮你完成续费。

  1. Producer【消息的生产者】 一个向交换机发布消息的客户端应用程序。
  2. Connection【连接】 生产者/消费者和RabbitMQ服务器之间建立的TCP连接。
  3. Channel【信道】 是TCP里面的虚拟连接。例如:Connection相当于电缆,Channel相当于独立光纤束,一条TCP连接中可以创建多条信道,增加连接效率。无论是发布消息、接收消息、订阅队列都是通过信道完成的。
  4. Broker 消息队列服务器实体。即RabbitMQ服务器
  5. Virtual Host【虚拟主机】 出于多租户和安全因素设计的,把AMQP的基本组件划分到一个虚拟的分组中。每个vhost本质上就是一个mini版的RabbitMQ服务器,拥有自己的队列、交换机、绑定和权限机制。当多个不同的用户使用同一个RabbitMQ服务器时,可以划分出多个虚拟主机。RabbitMQ默认的虚拟主机路径是 /
  6. Exchange【交换机】 用来接收生产者发送的消息,并根据分发规则,将这些消息分发给服务器中的队列中。不同的交换机有不同的分发规则。
  7. Queue【消息队列】 用来保存消息直到发送给消费者。它是消息的容器,也是消息的终点。消息一直在队列里面,等待消费者链接到这个 队列将其取走。
  8. Binding【绑定】 消息队列和交换机之间的虚拟连接,绑定中包含路由规则,绑定信息保存到交换机的路由表中,作为消息的分发依据。
  9. Consumer【消息的消费者】 表示一个从消息队列中取得消息的客户端应用程序。 …RabbitMQ的概念到此结束

2、Linux中RabbitMQ安装教程

安装Erlang
官方制作的依赖软件包
Erlang Solutions的软件包(这个可以自定义yum库安装,本人自己下载安装)
EPEL(“Enterprise Linux的额外软件包”)
个人是按照Erlang Solutions的方式安装;根据个人的Linux系统情况选择如下:
基本命令如下:

cd /usr/local/src/
mkdir rabbitmq
cd rabbitmq

//下载rpm,如果下载速度慢可以本地下载上传Linux中也可
wget https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_19.3-1centos6_i386.rpm

rpm –import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc //导入公钥

yum install esl-erlang_19.3-1centos6_i386.rpm //安装自动更新依赖(不建议使用rpm安装)

erl //验证是否安装成功
安装rabbitmq
//下载
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.6.6/rabbitmq-server-3.6.6-1.el6.noarch.rpm
//安装
rpm -ivh --nodeps rabbitmq-server-3.6.6-1.el6.noarch.rpm
启动和配置
1.常用命令:

//常用的rabbitmq的命令
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server status
service rabbitmq-server rotate-logs|
service rabbitmq-server restart
service rabbitmq-server condrestart
service rabbitmq-server try-restart
service rabbitmq-server reload
service rabbitmq-server force-reload

ps -ef | grep rabbitmq 查看rabbitMq进程

netstat -anplt | grep LISTEN rabbitmq默认监听端口15672/5672

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值