保姆级别的RabbitMQ教程!从零开始!一看就会!

文章目录

      • 什么是AMQP 和 JMS?
      • 常见的MQ产品
      • 安装RabbitMQ
      • 启动RabbitMQ
      • 什么是Authentication(认证)
      • 指定RabbitMQ的启动配置文件
      • 如何让guest用户远程登陆RabbitMQ
      • 管理用户和权限
      • RabbitMQ中的概念
        • 什么是virtual host
        • 创建virtual host 并指定用户可以使用它
      • RabbitMQ的五种消息模型
        • Hello World
        • Worker模型
        • 订阅模型
          • 订阅之Fanout模型
          • 订阅之Direct模型
          • 订阅之Topic模型
        • Hello World
        • Worker模型
        • 订阅模型
          • 订阅之Fanout模型
          • 订阅之Direct模型
          • 订阅之Topic模型
        • 消息确认机制
          • ACK机制
          • 持久化交换机
          • 持久化队列
          • 持久化消息
        • SpringAMQP
          • 环境搭建
      • Golang客户端
        • Hello World
        • Worker 模型
        • 订阅模型
          • 订阅模型之Fanout模型
          • 订阅模型之Direct模型
          • 订阅模型之Topic模型
        • 消息确认机制
          • ACK机制
          • 持久化交换机
          • 持久化队列
          • 持久化消息
      • 资料获取

什么是AMQP 和 JMS?

AMQP:即Advanced Message Queuing Protocol,是一个应用层标准高级消息队列协议,提供统一消息服务。是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有RabbitMQ等。

JMS:即Java消息服务(Java Message Service)应用程序接口,由sun公司提出,并且sun公司定义好了接口。包括create、send、recieve。只要想使用它,就得实现它定义的接口。 消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。不好的地方是语言层面的限制,只能为JAVA,这其实稍微有点和微服务的观点相违背。要求语言只能是JAVA,而不能是py等。


常见的MQ产品

ActiveMQ:基于JMS,Apache

RocketMQ:(Rocket,火箭)阿里巴巴的产品,基于JMS,目前由Apache基于会维护

Kafka:分布式消息系统,亮点:吞吐量超级高,没秒中数十万的并发。

RabbitMQ:(Rabbit,兔子)由erlang语言开发,基于AMQP协议,在erlang语言特性的加持下,RabbitMQ稳定性要比其他的MQ产品好一些,而且erlang语言本身是面向高并发的编程的语言,所以RabbitMQ速度也非常快。且它基于AMQP协议,对分布式、微服务更友好。


安装RabbitMQ

安装使用的rpm包我提前准备好了,如下:

操作系统:Centos7.3

推荐:这三个包我提前下载好了,扫描文末二维码,后台回复:rbmq 可以直接领取。

如果你不怕麻烦也想自己参照文档自行下载,可参考文末的链接。

科普一下:

比如你安装软件A,结果这个软件可能依赖了软件B,于是你直接安装A就会接到报错,说当前操作系统环境中缺少软件B,让你先安装软件B后,再尝试安装软件A。

如果你看过Linux私房菜类似书,其实你应该也知道,rmp其实已经处理好各种依赖关系的软件包,所以安装起来相对来说是比较省心的。

# 安装erlang
yum install esl-erlang_23.0-1_centos_7_amd64.rpm -y
yum install esl-erlang-compat-18.1-1.noarch.rpm -y

# 安装rabbitmq
rpm -ivh rabbitmq-server-3.8.9-1.el7.noarch.rpm

比如遇到如下的安装包错,按提示解决就好了

下载依赖后重试即可完成安装。


启动RabbitMQ

通过如下命令可启动:

service rabbitmq-server start

保姆级别的RabbitMQ教程!从零开始!一看就会!_第1张图片

你可以像上面这样,安装之后立刻启动。

这时rabbitmq使用的是默认的配置参数。但是一般都来说我们都希望rabbitmq能使用我们可修改的配置文件启动,这样也方便我们后续对mq的控制,下面就一起看一rabbitmq的认证、授权、访问控制、配置文件。

你还可以像下面这样开启web插件。

保姆级别的RabbitMQ教程!从零开始!一看就会!_第2张图片

你可能感兴趣的:(消息中间件,后端,java,java,golang,rabbitmq)