On Tue, May 29, 2018 at 12:51 PM, Jeremy Cline <jeremy@jcline.org> wrote:

On 05/29/2018 09:31 AM, Jeffrey Ollie wrote:
> On Thu, May 24, 2018 at 11:16 AM, Aurelien Bompard <
> abompard@fedoraproject.org> wrote:
>> What do you think of this proposal? Any blind spots?
> Not that I disagree, but please add/expand a section as to why AMQP (and
> RabbitMQ) was chosen over other messaging technologies.

Thanks for the feedback, I've added a small section[0]. It is, perhaps,
a little wishy-washy. I don't want to give the impression that we
couldn't implement this with a different messaging protocol or a
different broker. We definitely could. AMQP has short-comings, to be
sure, but the RabbitMQ extensions (mainly pulisher acks) cover the most
important ones in my opinion.

I did some research, but I'd definitely welcome feedback on protocols
and brokers. I've read all or nearly all of the AMQP 0.9, ZeroMQ, and
STOMP protocols, and I skimmed through the MQTT protocol, but I've not
looked closely at the AMQP 1.0 protocol and I'm by no means a message
protocol expert.

I think moving to a broker-based architecture is a great idea! Your document does a great job explaining the advantages it brings, and it could help increase the adoption of event-based workflows.

Regarding protocols, my preference would be for STOMP. It's has very wide support, with libraries in pretty much every language, and being entirely text-based makes it *much* easier to debug than other protocols. The message delivery semantics are well-defined, and the protocol spec has the nice property of being readable in one sitting. Some brokers provide the ability to translate between protocols, so it may not be difficult to support more than one, but I would suggest STOMP as the reference protocol.

As far as brokers, I'll mention that we use ActiveMQ internally and it has been performing well for us. There may be some value to standardization there, and we may be able to provide some resources and best-practices on configuration and maintenance. I don't know much about RabbitMQ.

As for brokers, my only experience is with Qpid and RabbitMQ and that
experience points me firmly at RabbitMQ. I don't know much about running


infrastructure mailing list -- infrastructure@lists.fedoraproject.org
To unsubscribe send an email to infrastructure-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org/message/2ARVA7MSRJ5NALJL2O5CGWB4BGCKJ67S/