What is RabbitMQ?
RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现
Robust messaging for applications
Easy to use
Runs on all major operating systems
Supports a huge number of developer platforms
Open source and commercially supported
RabbitMQ is officially supported on a number of operating systems and several languages. In addition, the RabbitMQ community has created numerous clients, adaptors and tools that we list here for your convenience.
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
RabbitMQ Java client and the API-guide
RabbitMQ JMS client (OSS)
Lyra, highly available RabbitMQ Java client
camel-rabbitmq, an Apache Camel component for interacting with RabbitMQ. This ships as part of Camel 2.12 or later.
Banyan, a RabbitMQ-backed message bus with a tree topology.
Spring Framework
Spring AMQP project for Java
RabbitMQ support in Spring XD
RabbitMQ support in Spring Integration
.NET
RabbitMQ .NET Client
EasyNetQ, an easy to use, opinionated .NET API for RabbitMQ
Restbus, a service-oriented framework for .NET
.NET NServiceBus client
RawRabbit, a higher-level client that targets ASP.NET vNext and supports .NET Core.
RabbitMQTools, PowerShell module containing cmdlets to manage RabbitMQ
Ruby
Bunny, a dead easy to use RabbitMQ Ruby client
March Hare, a JRuby RabbitMQ client
Sneakers, a fast background processing framework for Ruby and RabbitMQ
Hutch, a convensions-based framework for writing (Ruby) services that communicate over RabbitMQ.
Ruby RabbitMQ HTTP API client
Ruby RabbitMQ clients blog
Ruby RabbitMQ clients mailing list
Python
pika, a pure-Python AMQP 0-9-1 client (source code, API reference)
Celery, a distributed task queue for Django and pure Python
Haigha, an asynchronous AMQP 0-9-1 client based on libevent (the source code and docs are on github)
PHP
php-amqplib a pure PHP, fully featured RabbitMQ client
RabbitMqBundle incorporates RabbitMQ messaging with the Symfony2 web framework
PECL AMQP library built on top of the RabbitMQ C client
VorpalBunny a PHP client library using rabbitmq_jsonrpc_channel
Thumper a library of messaging patterns
CAMQP an extension for the Yii framework providing a gateway for RabbitMQ messaging
为什么使用Channel,而不是直接使用TCP连接?
对于OS来说,建立和关闭TCP连接是有代价的,频繁的建立关闭TCP连接对于系统的性能有很大的影响,而且TCP的连接数也有限制,这也限制了系统处理高并发的能力。但是,在TCP连接中建立Channel是没有上述代价的。对于Producer或者Consumer来说,可以并发的使用多个Channel进行Publish或者Receive。有实验表明,1s的数据可以Publish10K的数据包。
相关推荐
Erlang是一种并发性极强的编程语言,主要用于构建高可用性和容错性的分布式系统,而RabbitMQ则是一个基于AMQP(Advanced Message Queuing Protocol)的消息队列服务器,广泛应用于微服务架构中的消息传递。...
Erlang OTP(Open Telephony Platform)是Erlang语言的核心组成部分,提供了库、设计原则以及一个运行系统,用于构建高度可靠和可扩展的分布式系统。OTP_src_21.2 是Erlang 21.2 版本的源代码包,开发者可以借此深入...
Erlang是一种函数式编程语言,特别设计用于构建高可用性、容错性强的并发系统,而RabbitMQ则是一个开源的消息代理和队列服务器,它是基于Erlang语言开发的,广泛应用于微服务架构中,作为消息中间件来处理和路由消息...
Erlang和RabbitMQ是两个在分布式系统和消息队列领域中至关重要的技术,尤其在Java开发中常被广泛运用。本压缩包提供的是适用于Windows操作系统的Erlang 25.2.3和RabbitMQ Server 3.11.9的下载资源,非常适合个人学习...
Erlang是一种通用的编程语言,以其并发性、容错性和分布式特性而闻名,而RabbitMQ则是基于Erlang构建的一个开源消息代理,用于处理应用程序之间的消息传递。 Erlang 22版本引入了一些关键改进,包括: 1. **性能...
Erlang是一种并发性极强、容错性良好的编程语言,而RabbitMQ则是一个基于AMQP(Advanced Message Queuing Protocol)的消息中间件,它利用Erlang的强大特性来实现高可用性和可扩展性。 首先,让我们深入了解一下...
Erlang是一种函数式编程语言,以其并发性、容错性和实时性而闻名,尤其适用于构建高可用性的分布式系统。RabbitMQ则是一个开源的消息代理和队列服务器,基于Erlang开发,它实现了多种消息传递协议,如AMQP(Advanced...
Erlang是一种编程语言,以其并发处理能力、容错性和实时性著称,而RabbitMQ则是一个基于Erlang构建的消息中间件,实现了Advanced Message Queuing Protocol (AMQP)标准,用于高效地发送、路由和接收消息。...
Erlang是一种函数式编程语言,以其并发性、容错性和热代码升级能力而闻名,而RabbitMQ则是基于Erlang构建的一个开源消息代理,用于实现应用程序之间的异步通信。 **Erlang** Erlang由瑞典电信设备制造商Ericsson...
Erlang是一种高级并发编程语言,由瑞典电信公司Ericsson开发,主要用于构建高度可扩展的、容错性强的分布式系统。Erlang的22.3版本提供了许多改进和新特性,包括性能优化、错误修复以及对新硬件和操作系统更好的支持...
RabbitMQ是一种广泛使用的开源消息代理和队列服务器,它基于Erlang编程语言构建。Erlang以其并发能力、容错性和分布式特性而闻名,是实现RabbitMQ的理想选择。正确地匹配RabbitMQ和Erlang的版本对于确保系统的稳定性...
Erlang 是一种由瑞典电信公司 Ericsson 开发的编程语言,以其并发性、容错性和实时性而闻名,特别适合构建高可用性系统。RabbitMQ 是一个基于 AMQP(Advanced Message Queuing Protocol)的消息代理软件,它允许应用...
Erlang是一种并发并行计算的语言,RabbitMQ就是用Erlang编写的。文件"erlang-20.3.8.21-1.el7.x86_64.rpm"是Erlang的RPM包,适用于基于RPM的Linux发行版,如CentOS或RHEL。安装Erlang的步骤如下: 1. 打开终端。 2....
此外,学习Erlang语言的并发模型和RabbitMQ的使用方式,如消息交换机类型、队列绑定等,对于更好地利用这两个工具至关重要。在实际项目中,确保根据业务需求进行定制化配置,以提高系统的稳定性和可扩展性。
Erlang是一种并发性极强、容错性高的编程语言,而RabbitMQ则是一个基于Erlang开发的消息中间件,广泛用于实现应用程序之间的异步通信。 Erlang 24是Erlang的最新稳定版本之一,它带来了许多性能优化和新特性。...
【标题】"erlang和rabbitmq.zip" 涉及到的是两个关键技术:Erlang编程语言和RabbitMQ消息队列系统。Erlang是一种并发性极强、容错性出色的函数式编程语言,而RabbitMQ是基于Erlang开发的开源消息代理和队列服务器。 ...
Erlang是一款强大的编程语言,尤其在分布式系统和并发处理方面表现出色。它是由瑞典电信设备制造商Ericsson开发的,最初是为了构建高度可靠和容错的电信系统。Erlang的特点包括轻量级进程(线程)、热代码升级以及...
RabbitMQ是一款基于AMQP(Advanced Message Queuing Protocol)的消息队列服务器,它使用Erlang语言编写,充分利用了Erlang在并发和分布式系统方面的优势。RabbitMQ 3.6.5是这个开源项目的稳定版本,提供可靠的消息...
Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性能和处理大量并发连接的能力而被广泛应用于电信、金融和互联网等领域,特别是对于...
Erlang是RabbitMQ的基础语言,因为RabbitMQ就是用Erlang编写的。Erlang是一种并发性极强、容错性高的编程语言,特别适合构建高可用性和可扩展性的分布式系统。 标题提到的"rabbitmq-server-3.8.3.exe"是RabbitMQ...