[rabbitmq-discuss] [Fwd: erlang-client woes]

Ben Hood 0x6e6562 at gmail.com
Thu Jun 4 17:27:42 BST 2009


Jack,

On Thu, Jun 4, 2009 at 4:54 PM, Jack Moffitt <jack at collecta.com> wrote:
>> I suspect that you have not started Rabbit or Mnesia in this VM.
>
> Why would I?  Rabbit is already running in its own node.  Why should I
> need to launch a second to talk to the first?  Why do I need mnesia as
> a client?
>
> It seems to me the design of the direct client is predicated on being
> run in the same node as a running rabbit.  I guess my error is that I
> assumed that the direct driver was replacing TCP socket calls with
> Erlang rpc:call and node to node message passing.

No, it is just using inner-VM message passing. Of course you could use
Erlang RPC to send these messages, but this may only be marginally
more efficient that AMQP encoding/decoding (but I haven't tested this
at all). The idea behind the direct driver is to avoid network
marshalling.

> Why bother checking the password at all for example?  If you have
> access to the node, you have COMPLETE access, so it seems the API
> should just ignore or not require the password in the first place.

Sure, you can do whatever you want if you are inside the same node.
The motivation behind mandating credential checking was to keep the
API transparent to any client and maintain conformance with the AMQP
execution model FWIW.

> Is
> this all the mnesia bit is used for?

No, mnesia is used extensively in the broker to maintain routing tables.

HTH,

Ben




More information about the rabbitmq-discuss mailing list