或许你正在考虑进行数据投递,非阻塞操做或推送通知。或许你想要实现发布/订阅,异步处理,或者工做队列。全部这些均可以经过消息系统实现。编程
RabbitMQ是一个消息代理 - 一个消息系统的媒介。它能够为你的应用提供一个通用的消息发送和接收平台,而且保证消息在传输过程当中的安全。安全
RabbitMQ提供了多种技术可让你在性能和可靠性之间进行权衡。这些技术包括持久性机制、投递确认、发布者证明和高可用性机制。服务器
消息在到达队列前是经过交换机进行路由的。RabbitMQ为典型的路由逻辑提供了多种内置交换机类型。若是你有更复杂的路由需求,能够将这些交换机组合起来使用,你甚至能够实现本身的交换机类型,而且当作RabbitMQ的插件来使用。异步
在相同局域网中的多个RabbitMQ服务器能够聚合在一块儿,做为一个独立的逻辑代理来使用。编程语言
对于服务器来讲,它比集群须要更多的松散和非可靠连接。为此RabbitMQ提供了联合模型。ide
在同一个集群里,队列能够被镜像到多个机器中,以确保当其中某些硬件出现故障后,你的消息仍然安全。工具
RabbitMQ 支持多种消息协议的消息传递。性能
只要是你能想到的编程语言几乎都有与其相适配的RabbitMQ客户端。spa
RabbitMQ附带了一个易于使用的可视化管理工具,它能够帮助你监控消息代理的每个环节。插件
若是你的消息系统有异常行为,RabbitMQ还提供了追踪的支持,让你可以发现问题所在。
RabbitMQ附带了各类各样的插件来对本身进行扩展。你甚至也能够写本身的插件来使用。