`
gaojingsong
  • 浏览: 1197311 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【erlang语言之RabbitMQ】

阅读更多

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的数据包。

  • 大小: 7.8 KB
0
0
分享到:
评论

相关推荐

    erlang20.3+rabbitmq server.rar

    Erlang是一种并发性极强的编程语言,主要用于构建高可用性和容错性的分布式系统,而RabbitMQ则是一个基于AMQP(Advanced Message Queuing Protocol)的消息队列服务器,广泛应用于微服务架构中的消息传递。...

    erlang21.2 和 rabbitmq_server-3.7.13

    Erlang OTP(Open Telephony Platform)是Erlang语言的核心组成部分,提供了库、设计原则以及一个运行系统,用于构建高度可靠和可扩展的分布式系统。OTP_src_21.2 是Erlang 21.2 版本的源代码包,开发者可以借此深入...

    Erlang 22.0 +RabbitMQ3.7.16安装程序.zip

    Erlang是一种函数式编程语言,特别设计用于构建高可用性、容错性强的并发系统,而RabbitMQ则是一个开源的消息代理和队列服务器,它是基于Erlang语言开发的,广泛应用于微服务架构中,作为消息中间件来处理和路由消息...

    适用于windows版本的 Erlang25.2.3 and RabbitMQ server 3.11.9下载

    Erlang和RabbitMQ是两个在分布式系统和消息队列领域中至关重要的技术,尤其在Java开发中常被广泛运用。本压缩包提供的是适用于Windows操作系统的Erlang 25.2.3和RabbitMQ Server 3.11.9的下载资源,非常适合个人学习...

    linux下erlang22版本和rabbitmq3.7版本

    Erlang是一种通用的编程语言,以其并发性、容错性和分布式特性而闻名,而RabbitMQ则是基于Erlang构建的一个开源消息代理,用于处理应用程序之间的消息传递。 Erlang 22版本引入了一些关键改进,包括: 1. **性能...

    Erlang22.3和RabbitMQ3.8.4.zip

    Erlang是一种并发性极强、容错性良好的编程语言,而RabbitMQ则是一个基于AMQP(Advanced Message Queuing Protocol)的消息中间件,它利用Erlang的强大特性来实现高可用性和可扩展性。 首先,让我们深入了解一下...

    erlang23.0-rabbitmq3.8.4.rar

    Erlang是一种函数式编程语言,以其并发性、容错性和实时性而闻名,尤其适用于构建高可用性的分布式系统。RabbitMQ则是一个开源的消息代理和队列服务器,基于Erlang开发,它实现了多种消息传递协议,如AMQP(Advanced...

    Erlang和RabbitMQ安装包

    Erlang是一种函数式编程语言,以其并发性、容错性和热代码升级能力而闻名,而RabbitMQ则是基于Erlang构建的一个开源消息代理,用于实现应用程序之间的异步通信。 **Erlang** Erlang由瑞典电信设备制造商Ericsson...

    适用于windows版本的 Erlang24 and RabbitMQ server 3.8.16下载

    Erlang是一种编程语言,以其并发处理能力、容错性和实时性著称,而RabbitMQ则是一个基于Erlang构建的消息中间件,实现了Advanced Message Queuing Protocol (AMQP)标准,用于高效地发送、路由和接收消息。...

    Windows版本Erlang22.3-RabbitMQ3.8.3

    Erlang是一种高级并发编程语言,由瑞典电信公司Ericsson开发,主要用于构建高度可扩展的、容错性强的分布式系统。Erlang的22.3版本提供了许多改进和新特性,包括性能优化、错误修复以及对新硬件和操作系统更好的支持...

    最新最全rabbitmq与erlang版本匹配-2020-04-23.docx

    RabbitMQ是一种广泛使用的开源消息代理和队列服务器,它基于Erlang编程语言构建。Erlang以其并发能力、容错性和分布式特性而闻名,是实现RabbitMQ的理想选择。正确地匹配RabbitMQ和Erlang的版本对于确保系统的稳定性...

    erlang+rabbitmq.zip

    Erlang 是一种由瑞典电信公司 Ericsson 开发的编程语言,以其并发性、容错性和实时性而闻名,特别适合构建高可用性系统。RabbitMQ 是一个基于 AMQP(Advanced Message Queuing Protocol)的消息代理软件,它允许应用...

    erlang和RabbitMQ的安装包

    此外,学习Erlang语言的并发模型和RabbitMQ的使用方式,如消息交换机类型、队列绑定等,对于更好地利用这两个工具至关重要。在实际项目中,确保根据业务需求进行定制化配置,以提高系统的稳定性和可扩展性。

    (linux)erlang24和rabbitmq3.8.26.rar

    Erlang是一种并发性极强、容错性高的编程语言,而RabbitMQ则是一个基于Erlang开发的消息中间件,广泛用于实现应用程序之间的异步通信。 Erlang 24是Erlang的最新稳定版本之一,它带来了许多性能优化和新特性。...

    erlang和rabbitmq.zip

    【标题】"erlang和rabbitmq.zip" 涉及到的是两个关键技术:Erlang编程语言和RabbitMQ消息队列系统。Erlang是一种并发性极强、容错性出色的函数式编程语言,而RabbitMQ是基于Erlang开发的开源消息代理和队列服务器。 ...

    erlang下载&rabbitmq下载_win64.rar

    Erlang是一款强大的编程语言,尤其在分布式系统和并发处理方面表现出色。它是由瑞典电信设备制造商Ericsson开发的,最初是为了构建高度可靠和容错的电信系统。Erlang的特点包括轻量级进程(线程)、热代码升级以及...

    Erlang和RabbitMQ

    RabbitMQ是一款基于AMQP(Advanced Message Queuing Protocol)的消息队列服务器,它使用Erlang语言编写,充分利用了Erlang在并发和分布式系统方面的优势。RabbitMQ 3.6.5是这个开源项目的稳定版本,提供可靠的消息...

    Erlang Windows安装包 RabbitMq Windows安装包 是刚好匹配的版本

    Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性能和处理大量并发连接的能力而被广泛应用于电信、金融和互联网等领域,特别是对于...

    rabbitmq-server-3.8.3.exe和erlang22.2.exe 64位压缩文件

    Erlang是RabbitMQ的基础语言,因为RabbitMQ就是用Erlang编写的。Erlang是一种并发性极强、容错性高的编程语言,特别适合构建高可用性和可扩展性的分布式系统。 标题提到的"rabbitmq-server-3.8.3.exe"是RabbitMQ...

    RabbitMQ + Erlang语言包下载安装包

    4.安装的时候一定要先安装erlang,因为RabbitMQ是由erlang语言开发的。 (1)安装erlang 1.以管理员身份安装erlang 2.添加完成后,然后再在用户变量PATH中添加上%ERLANG_HOME%\bin,这样在命令行窗口下就可以在任意...

Global site tag (gtag.js) - Google Analytics