Please pardon me if my questions are all clearly answered in the
documentation.  I've been reading for a while, and am still in doubt.

While I have done C++ and Java programming in the past, I have a lot more
experience in C, and I've mostly been a Python programmer of late.  So also
please excuse any inappropriate Pythonisms.

Let me start with what I think I know, in hopes that folks will disabuse me
of my misconceptions.

Queues and exchanges are manifestations implemented within the broker
process, and do not have separate existence (counting disk files storing a
queue's messages, when required, as only manipulated by and belonging to
the broker).  For example, when you fetch a message from a queue, you are
actually talking to the broker.

Qpid brokers speak AMQP on the wire.  Excluding command line arguments,
config files, stuff in the data directory, and possibly *nix signals,
brokers don't communicate in any way but AMQP.  Specifically, there is no
separate port, and no recognizably non-AMQP communication with the main
port, used for configuration, control, and monitoring.

The AMQP standard does not address configuration, live re-configuration,
control, or monitoring.  QMF is a Qpid specific separate protocol designed
to address live re-configuration, control, and monitoring.

QMF is currently, but not necessarily continuing to be, specific to the C++
broker.

QMF is carried over regular AMQP messages, directed to particular addresses
that know to interpret the body as QMF, or in specific queues which QMF
consoles/clients own or to which they subscribe, knowing that they should
interpret the messages as QMF.

QMF v2 is current, though many deployed brokers might only support v1.
Some deployed brokers may not support QMF at all (configured completely
through configuration files?).  A major difference between v1 and v2 is
address structure.

Tools like qpid-config are using QMF to do what they do.



Now some specific questions:

1.  Within a single broker, object IDs are guaranteed unique, but are not
guaranteed unique across multiple brokers.  If all brokers in question are
part of a federation, do they magically arrange for object ID uniqueness or
not?

2. To control/monitor a federation, need a  QMF console connect to each
broker, or can it connect to one and have the QMF messages pass over the
federation links and routes?

3. Might queue name also be assured to be unique within a broker?  If so,
is that because the broker enforces it, or because the creation of multiple
queues with the same name would lead to a non-working configuration (that
might still need to be managed in order to be fixed)?

4. If necessary, I'm thinking of disambiguating object IDs across browsers
by decorating (the string representing) the object ID with (a string
representing) the broker IP address and port.  Is there something easier
and/or better?  Specifically, if all relevant brokers are in the same
federation, are the labels used in setting up routes guaranteed to be
stable and unique (within the federation), making it possible for object
labels to survive re-hosting of a broker?

5. Is it possible for a broker to be a member or more than one independent
federation, or does connection via this single broker define all brokers as
being part of one large federation?

6. Is the concept of "class" and "package" in QMF object filtering related
to implementation classes and namespaces on the broker?  If so, will this
filtering find sub-classes, or must the description be instance exact?


I'm sure that I have more questions, but I don't know about them yet.

Thanks in advance,
Bill

Reply via email to