[erlang-questions] AMQP 1.0 Client

Garrett Smith <>
Tue Oct 20 00:14:13 CEST 2015


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