前言
RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。AMQP,即Advanced Message Queuing
Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。一键获取RabbitMQ面试题

AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
提到RabbitMQ,就不得不提AMQP协议。AMQP协议是具有现代特征的二进制协议。是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。
先了解一下AMQP协议中间的几个重要概念:
- Server:接收客户端的连接,实现AMQP实体服务。
- Connection:连接,应用程序与Server的网络连接,TCP连接。
- Channel:信道,消息读写等操作在信道中进行。客户端可以建立多个信道,每个信道代表一个会话任务。
- Message:消息,应用程序和服务器之间传送的数据,消息可以非常简单,也可以很复杂。有Properties和Body组成。

本文详细介绍了RabbitMQ,一个基于Erlang实现的AMQP开源消息队列。主要内容包括AMQP协议的基础概念,如Server、Connection、Channel、Message等,以及RabbitMQ的四种常见交换器类型:direct、topic、fanout和headers。此外,还探讨了RabbitMQ在异步处理、流量削峰、日志处理和应用解耦等场景下的应用。
最低0.47元/天 解锁文章
2209

被折叠的 条评论
为什么被折叠?



