[erlang-questions] AMQP 1.0 Client

Andrew.Kutta <>
Tue Oct 20 03:51:28 CEST 2015


I was really hoping you wouldn't say that.  Though I somewhat knew the answer before asking.
This was planned as a PoC, but it seems that there is a significant time investment in order to make any progress which is somewhat out of the question.

Thanks for your help,
Andrew

-----Original Message-----
From: Garrett Smith [mailto:] 
Sent: Monday, October 19, 2015 5:14 PM
To: Kutta, Andrew [CLIMATE/WR/STL] <>
Cc: Erlang Questions <>
Subject: Re: [erlang-questions] AMQP 1.0 Client

Based on my experience with AMQP and Qpid, your requirements sound very scary. If you can get access to literally any other interface, including SOAP [sic], I'd look at that seriously before using AMQP. As good as Erlang is at supporting wire protocols, if that protocol is as complicated as AMQP (0.9 and beyond) it's really hard to build decent software.

After trying to escape from this requirement, if you're seriously trapped, I'd look for the most solid client and build an external port that your Erlang app can use.

Here's a primer:

http://erlang.org/doc/tutorial/c_port.html

No one likes this model because who wants to serialize their messaging over stdio - it seems absurd. But a) it works very well, even if it's not as potentially fast, b) it's very stable - this junk cannot bring your Erlang VM down and c) you can do work in that port to minimize the payload going back and forth to the Erlang VM.

Linked in drivers like NIFs will expose your Erlang VM to the horrors of whatever AMQP client library you're using - and that can easily invalidate the advantages of Erlang. So if performance is really and truly that big a deal - and you know that based on some actual data - consider doing this work in C++ with the Qpid client code directly.

On Mon, Oct 19, 2015 at 3:33 PM,  <> wrote:
> I am looking for an AMQP 1.0 Client Application.  All of the RabbitMQ 
> clients appear to have remained at 0.9.1 as Pivotal decided not to 
> pursue the 1.0 standard.
>
> Not sure if it will help, but the applications I have 
> written/supporting are currently running on R16B02.
>
>
>
> I have tinkered with the idea of taking the QPid-Proton Library and 
> forming a NIF, but I have no experience doing that, so if this is the 
> only direction you know of, I would ask for some guidance on how to begin.
>
>
>
> The purpose behind this is to hook up into the Azure EventHub which 
> only supports AMQP 1.0.
>
>
>
> Thanks for your help!
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list