Hey folks!

Jeremy and I have been working on a proposal to migrate fedmsg from our current brokerless architecture to a broker-based architecture.

The overview and reasons for the migration are described on this page:

Head there if you want the details. The plan has the following requirements:
 * No flag day.
 * Don't disrupt any services or applications.
 * Don't break any services outside of Fedora's infrastructure relying on
these messages.

The first step is to deploy a broker in Fedora to use. In order to avoid a flag day, bridges from AMQP to ZeroMQ and ZeroMQ to AMQP have been implemented and will be deployed.
In order to validate that the bridges are functioning, a small service will be run during the transition period that connects to fedmsg and to the AMQP queues to compare messages.

After the bridges are running, applications are free to migrate. There are several options when migrating and each has advantages and disadvantages.
We have written a new library called fedora-messaging that has the following features:
 * A method to define message schemas and offer automatic validation of messages using those schemas.
 * Boilerplate for typical publishers and consumers.

Head over to the document for a demo!

What do you think of this proposal? Any blind spots?