Erlang Mailing Lists

Author Message

<  RabbitMQ mailing list  ~  Administering Rabbit exchanges and queues

Guest
Posted: Thu Jan 10, 2008 12:58 pm Reply with quote
Guest
If I (say) create durable exchanges and queues with the Channel interface in the java API, how do I later list them?
Guest
Posted: Thu Jan 10, 2008 6:25 pm Reply with quote
Guest
John,

John Watson wrote:
> If I (say) create durable exchanges and queues with the Channel
> interface in the java API, how do I later list them? (Presumably I
> don't know my way about the API yet, but I couldn't find anything...)

There are no methods in the AMQP 0-8/9 protocol to retrieve lists of
queues, exchanges etc. AFAIK there are plans to include this kind of
functionality as part of management features in AMQP 0-11.

Do you need these lists for management and monitoring purposes or do you
actually have an application that requires this?

Regards,

Matthias

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
Guest
Posted: Fri Jan 11, 2008 8:34 am Reply with quote
Guest
Hi, Matthias

You wrote:
>Do you need these lists for management and monitoring purposes or do
you actually have an application that requires this?

I don't have a particular queuing application in mind. I was trying to
work out what it would need to develop administration tools along the
same lines as those provided for MQ (for example the RUNMQSC command
line utility or the Websphere MQ Explorer Eclipse plugin). My experience
with MQ has been that the majority of programming effort goes in to its
administration, not into its actual use.

John


*************************************************************
Satellite Information Services Limited Registered Office:
17 Corsham Street London N1 6DR, Company No. 4243307

The information in this e-mail (which includes any files
transmitted with it) is confidential and is intended for the
addressee only. Unauthorised recipients are required to
maintain confidentiality. If you have received this e-mail
in error please notify the sender immediately, destroy any
copies and delete it from your computer system.
*************************************************************


_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
0x6e6562
Posted: Fri Jan 11, 2008 8:55 am Reply with quote
User Joined: 12 Jul 2007 Posts: 250
John,

On 11 Jan 2008, at 08:33, John Watson wrote:
>
> I don't have a particular queuing application in mind. I was trying
> to
> work out what it would need to develop administration tools along the
> same lines as those provided for MQ (for example the RUNMQSC command
> line utility or the Websphere MQ Explorer Eclipse plugin). My
> experience
> with MQ has been that the majority of programming effort goes in to
> its
> administration, not into its actual use.

FWIW, I've written a rabbit_management module that exposes an internal
server API via Hessian over AMQP, so all you need to do is to call a
Java interface that exposes the same methods as the internal API.
There is some client side glue that proxies this Java interface by an
AMQP RPC handler, but this is transparent to the calling application.
At the moment it only exposes the rabbit_access_module, so it does
exactly what the rabbitmqctl script does, but it's been designed to
expose an arbitrary module that is deployed in the server VM via AMQP
in an SCA-style fashion.

I don't know if this is the kind of thing you are looking for, or
whether you're after the existence of specific management API's in
rabbit to perform specific tasks.

HTH,

Ben

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
View user's profile Send private message
Guest
Posted: Fri Jan 11, 2008 9:24 am Reply with quote
Guest
Ben,

You wrote:
> I don't know if this is the kind of thing you are looking for, or
> whether you're after the existence of specific management API's in
> rabbit to perform specific tasks.

This all looks very useful. I would definitely have a need to
administer remotely, but my main concern at the moment is that some core
AMQP objects don't seem to be exposed by any administration interface at
all.

John

*************************************************************
Satellite Information Services Limited Registered Office:
17 Corsham Street London N1 6DR, Company No. 4243307

The information in this e-mail (which includes any files
transmitted with it) is confidential and is intended for the
addressee only. Unauthorised recipients are required to
maintain confidentiality. If you have received this e-mail
in error please notify the sender immediately, destroy any
copies and delete it from your computer system.
*************************************************************


_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
Guest
Posted: Fri Jan 11, 2008 9:32 am Reply with quote
Guest
John,

John Watson wrote:

> This all looks very useful. I would definitely have a need to
> administer remotely, but my main concern at the moment is that some core
> AMQP objects don't seem to be exposed by any administration interface at
> all.

The AMQP Working Group is well aware that this kind of functionality is
important. As I mentioned earlier, admin/management interfaces are
scheduled to appear in AMQP 0-11.

In the meantime, broker-specific approaches, such as the one proposed by
Ben, provide a stop-gap solution.

Matthias.

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
alexis
Posted: Fri Jan 11, 2008 9:39 am Reply with quote
User Joined: 06 Sep 2007 Posts: 80 Location: London
John,

On Jan 11, 2008 9:32 AM, Matthias Radestock <matthias@lshift.net> wrote:
>
> In the meantime, broker-specific approaches, such as the one proposed by
> Ben, provide a stop-gap solution.

To add to Matthias' point: the exploration of management requirements,
through actual use of tools such as Ben's, is a very good way to
understand what needs to be in 0-11. Do please share use cases as you
come across them.

alexis

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
View user's profile Send private message Yahoo Messenger
Guest
Posted: Fri Jan 11, 2008 12:13 pm Reply with quote
Guest
Alexis,

You wrote:
> To add to Matthias' point: the exploration of management requirements,
> through actual use of tools such as Ben's is a very good way to
> understand what needs to be in 0-11. Do please share use cases as you
> come across them.

I'll certainly do that. But I think Ben was saying that his approach is
currently limited to what's exposed in rabbit_access_control so it shows
me nothing new as far as I can tell. If you want requirements to add to
0-11 then I'd say that the three most important components seem to be
the exchange, queue and binding and these should be fully administrable
in order to allow for scripting, GUI tools etc. to manipulate them
fully.

John

*************************************************************
Satellite Information Services Limited Registered Office:
17 Corsham Street London N1 6DR, Company No. 4243307

The information in this e-mail (which includes any files
transmitted with it) is confidential and is intended for the
addressee only. Unauthorised recipients are required to
maintain confidentiality. If you have received this e-mail
in error please notify the sender immediately, destroy any
copies and delete it from your computer system.
*************************************************************


_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
alexis
Posted: Fri Jan 11, 2008 1:32 pm Reply with quote
User Joined: 06 Sep 2007 Posts: 80 Location: London
John

On Jan 11, 2008 12:12 PM, John Watson <JWatson@sis.tv> wrote:
>
> If you want requirements to add to
> 0-11 then I'd say that the three most important components seem to be
> the exchange, queue and binding and these should be fully administrable
> in order to allow for scripting, GUI tools etc. to manipulate them
> fully.

Thank-you. Towards full administrability, other than obtaining a list
of live queues (.., exchanges, bindings), what would you expect to see
API-wise?

alexis



--
Alexis Richardson
+44 20 7617 7339 (UK)
+44 77 9865 2911 (cell)
+1 650 206 2517 (US)

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
View user's profile Send private message Yahoo Messenger
0x6e6562
Posted: Fri Jan 11, 2008 1:48 pm Reply with quote
User Joined: 12 Jul 2007 Posts: 250
Thanks for picking that one Matthias.

John, please find my comments inline.

Ben

On 11 Jan 2008, at 13:44, Matthias Radestock wrote:

> Ben,
>
> I suspect you meant to send this to the discuss list rather than amq@lshift.net
> .
>
> Matthias.
>
> Ben Hood wrote:
>> John,
>> On 11 Jan 2008, at 12:12, John Watson wrote:
>>> I'll certainly do that. But I think Ben was saying that his
>>> approach is
>>> currently limited to what's exposed in rabbit_access_control so it
>>> shows
>>> me nothing new as far as I can tell.
>> The approach is only limited to rabbit_access_control by virtue of
>> the fact that that's only rabbit module I've tested against.
>> Essentially it is a generalized RPC over AMQP handling mechanism
>> that on the server side takes a concrete Erlang module as a
>> parameter to a handler instance. So presenting a further module via
>> this mechanism is trivial:
>> Client ---> Java Interface ---> Dynamic Proxy --> Wire --> Queue --
>> > RPC Handler --> Erlang module
>> The only thing you have to add is
>> 1. The business module whose exported functions you wish to invoke
>> 2. A Java interface definition of those functions.
>> Everything else is generic.
>>> If you want requirements to add to
>>> 0-11 then I'd say that the three most important components seem to
>>> be
>>> the exchange, queue and binding and these should be fully
>>> administrable
>>> in order to allow for scripting, GUI tools etc. to manipulate them
>>> fully.
>> It sounds like you might to start with a wish list of functions you
>> would like to be able to invoke, rather than exposing the kitchen
>> sink unnecessarily.
>> HTH,
>> Ben
>


_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
View user's profile Send private message
Guest
Posted: Fri Jan 11, 2008 2:14 pm Reply with quote
Guest
Hi, Alex

When you say
> what would you expect to see API-wise?

I'm not completely sure: Ultimately I'm interested in setting up a
network of servers with a reasonably static topology that manage
point-to-point messaging, with store-and-forward in case of network
outages and with reasonably static message routing. I'd like to be able
to set this up in some declarative manner. So I suppose I'm mostly
interested in such attributes as exchange: type, durability, bindings:
routing keys, also access rights to the various components and
authentication of the connections between servers.

I'm very conscious that I seem to be talking at cross-purposes here -
I've been grappling with the problems of easing the administration
burden for our MQ network for the last couple of years and it's
colouring my approach to Rabbit. I certainly didn't intend you to
expose the whole kitchen sink......

John

-----Original Message-----
From: alexis.richardson@gmail.com [mailto:alexis.richardson@gmail.com]
On Behalf Of Alexis Richardson
Sent: 11 January 2008 13:32
To: John Watson
Cc: Matthias Radestock; rabbitmq-discuss@lists.rabbitmq.com
Subject: Re: [rabbitmq-discuss] Administering Rabbit exchanges and
queues

John

On Jan 11, 2008 12:12 PM, John Watson <JWatson@sis.tv> wrote:
>
> If you want requirements to add to
> 0-11 then I'd say that the three most important components seem to be
> the exchange, queue and binding and these should be fully
administrable
> in order to allow for scripting, GUI tools etc. to manipulate them
> fully.

Thank-you. Towards full administrability, other than obtaining a list
of live queues (.., exchanges, bindings), what would you expect to see
API-wise?

alexis



--
Alexis Richardson
+44 20 7617 7339 (UK)
+44 77 9865 2911 (cell)
+1 650 206 2517 (US)

*************************************************************
Satellite Information Services Limited Registered Office:
17 Corsham Street London N1 6DR, Company No. 4243307

The information in this e-mail (which includes any files
transmitted with it) is confidential and is intended for the
addressee only. Unauthorised recipients are required to
maintain confidentiality. If you have received this e-mail
in error please notify the sender immediately, destroy any
copies and delete it from your computer system.
*************************************************************


_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
Guest
Posted: Fri Jan 11, 2008 2:41 pm Reply with quote
Guest
Alexis Richardson wrote:
Quote:
John On Jan 11, 2008 12:12 PM, John Watson <JWatson@sis.tv> (jwatson@sis.tv) wrote: [/code]
Quote:
If you want requirements to add to 0-11 then I'd say that the three most important components seem to be the exchange, queue and binding and these should be fully administrable in order to allow for scripting, GUI tools etc. to manipulate them fully. [/code]
Thank-you. Towards full administrability, other than obtaining a list of live queues (.., exchanges, bindings), what would you expect to see API-wise? alexis [/code]

You guys might be interested ... this is what has been done for Qpid. We asked if we could start from what OpenAMQ
had done, and then updated it to be able to also work with 0-10, use the AMQP type system, allow for sec to be
applied with out opening the content frame, etc... so it this the same type of mechanism. currently the type code are
just randomly assigned and will be updated to the spec once the exact mapping for both 0-8 & 0-10 are known

http://cwiki.apache.org/qpid/management-design-notes.html

Might be useful, Schema for command set is in svn.
Carl.


Post recived from mailinglist
Guest
Posted: Fri Jan 11, 2008 3:08 pm Reply with quote
Guest
Carl,
> http://cwiki.apache.org/qpid/management-design-notes.html
Guest
Posted: Fri Jan 11, 2008 3:14 pm Reply with quote
Guest
John,

Great, feel free to use it, and please send comment to us. It would be great to submit it or an update of
it to AMQP working group for 0-11 mgmt. If you want to see it in action, fire up the trunk c++ broker
and run the command line mgmt tool.

Carl.


John Watson wrote:
Quote:
0x6e6562
Posted: Fri Jan 11, 2008 4:34 pm Reply with quote
User Joined: 12 Jul 2007 Posts: 250
Tony,

On 11 Jan 2008, at 15:19, Tony Garnock-Jones wrote:

> Ben Hood wrote:
>> Essentially it
>> is a generalized RPC over AMQP handling mechanism that on the server
>> side takes a concrete Erlang module as a parameter to a handler
>> instance.
>
> That is a really cool design. I'm looking forward to playing with it.

Because it's still in an alpha stage at the moment I'd definitely be
interested in some feedback.

Although I used Hessian as a serialization mechanism, it's not tied to
it, rather you can specify what you like (e.g. JSON).

Ben

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post recived from mailinglist
View user's profile Send private message

Display posts from previous:  

All times are GMT
Page 1 of 2
Goto page 1, 2  Next
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum