rabbitmq简介及安装
程序员文章站
2022-07-12 13:15:43
...
RabbitMQ是目前主流的几个消息中间件之一, 了解RabbitMQ对于开发人员来说也很有必要
什么是消息队列,消息队列能干什么?
消息队列中间件是利用消息传递机制将消息在不同接口,不同平台之间传递,提供消息传递和消息排队
消息队列能够实现消息通信,二能够通过异步的方式实现调用的解耦,较少IO阻塞
消息队列一般有两种传递模式:
- 点对点传递P2P
- 发布订阅模式 pub/sub
消息队列的存在使得异步通信,异步数据交换,异步调用,接口松耦合提供方便
提供消息的中间件(简称MOM, message oriented middleware)
消息队列也特别适合分布式环境, 实现系统的调用
总结消息中间件的作用:
- 解耦 能够独立的扩展或修改消息两边的处理过程
- 冗余 数据处理过程可能失败,消息中间件可以把数据持久化,增加确认机制,确保消息处理完成, 可以规避数据丢失的风险(这里的数据放丢失
是指向消息队列提交了的数据,如果在向消息队列发送过程中发生错误或网络异常,则无法确保数据不被丢失, 只有通过生产者重试等机制进行处理) - 扩展性 消息队列解耦, 那么增加消息生产者与消息处理者是相对容易的
- 削峰 在流量暴增的时候,应用能够将用户请求发送到消息队列进行缓冲, 排队进行处理, 这样可以保证后端不会被大流量压垮
- 可恢复性 消息持久化,可以保证消息不被丢失
- 缓冲 可以控制和优化数据流的速度
- 异步通信 允许消息放入消息队列进行缓冲,进行异步处理
rabbitmq实现了AMQP应用协议标准, rabbitmq使用协议可以对队列(queue)和交换机(exchange)资源进行配置
rabbitMq 使用erlang语言进行编写,但是在学习rabbitmq的基本功能知识完全不需要学习erlang, Erlang是一种通用的并发程序设计语言
rabbitmq的特点:
- 可靠性 (持久化, 传输确认,发布确认等)
- 灵活的路由 通过交换机来路由消息 可以实现自己的交换机,路由到不同的消息队列中
- 扩展性
- 高可用 rabbitmq支持集群,并提供镜像队列
- 多种协议支持 默认支持AMQP ,但也支持MQTT, DTOMP等
- 多语言客户端
- 插件机制 可以实现插件扩展,用户可以编写自己的插件
rabbitmq安装:
一. yum安装
简单, 但是版本较低
yum install erlang -y
yum install rabbitmq-server -y
启动服务
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
# 查看
systemctl status rabbitmq-server.service
二. 包安装
需要下载包,速度可能慢一些,但是版本可以自行选择
在安装前,需参考官网决定要安装的版本,以及依赖的erlang最低版本
- 安装erlang
# 下载
wget https://github.com/rabbitmq/erlang-rpm/releases/download/v22.0.1/erlang-22.0.1-1.el7.x86_64.rpm
#移除旧版本:
yum remove -y erlang
# 安装:
rpm -ivh --force erlang-22.0.1-1.el7.x86_64.rpm
查看版本:
rpm -q erlang
erlang-22.0.1-1.el7.x86_64
- 安装rabbitmq:
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-3.7.15-1.el7.noarch.rpm
yum install -y rabbitmq-server-3.7.15-1.el7.noarch.rpm
- 创建配置文件
vim /etc/rabbitmq/rabbitmq.config
[
{rabbit,[{tcp_listeners, [{"0.0.0.0", 5672}]}]},
{rabbitmq_stomp, [{tcp_listeners, [15673]}]},
{rabbitmq_web_stomp, [{tcp_listeners, [15674]}]}
].
-
启动服务
启动服务 systemctl enable rabbitmq-server.service systemctl start rabbitmq-server.service # 查看 systemctl status rabbitmq-server.service
推荐阅读
-
phpmyadmin报错原因及解决办法:无法在发生异常时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装
-
Bixelangelo如何免费使用 矢量绘图软件Bixelangelo安装及激活图文教程
-
windows下安装RabbitMQ
-
CentOS下安装启动MySQL及调用QT
-
Oracle安装过程中遇到的一些问题及解决方案
-
linux NFS安装配置及常见问题、/etc/exports配置文件、showmount命令
-
ThinkPHP5.1 的安装及对这个框架的认知(5-21)-2018年5月23日18点
-
RHEL6.4下MySQL安装方法及简单配置
-
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)_PHP
-
laravel 4安装及入门图文教程_PHP