dashbitco / broadway_rabbitmq

A Broadway producer for RabbitMQ
192 stars 41 forks source link

AMQP 1.0 support #115

Closed starbelly closed 2 years ago

starbelly commented 2 years ago

Background :

At work we have a need to use AMQP 1.0 to consume messages from Azure Service Bus and IBM MQ via AMQP 1.0. We wanted to use broadway, so we made an offbroadway amqp10 plugin. The plugin is targeted for AMQP 1.0 in general vs just rabbitmq or a particular service.

We plan on open sourcing this, but before we do it was suggested by @wojtekmach to open an issue for discussion. An AMQP 1.0 client could be added to broadway vs publishing a new offbroadway plugin. The question is, does it make sense?

Differences between AMQP 1.0 and AMQP < 1.0 aside, it makes sense in that this plugin could support rabbitmq installs that have AMQP 1.0 enabled (via rmq plugin).

On the other hand :

Interested to hear thoughts on all this.

Reference:

AMQP 1.0 spec

Overview of AMQP 1.0 in Azure Service Bus

amqp10_client

josevalim commented 2 years ago

I think we could ship with two different producers here... but it depends if they will actually share a reasonable amount of code. If not, then I would go with separate repos. :)

josevalim commented 2 years ago

Thoughts @whatyouhide?

whatyouhide commented 2 years ago

Yes same thoughts as @josevalim really. If they share a lot I'd be okay to put it here, but I’m really fine with broadway_amqp1 or something like that. RabbitMQ might support AMQP 1.0 via plugins, but it's historically (and currently) still running on AMQP 0.9, so I’m ok with broadway_rabbitmq not supporting AMQP 1.0.

starbelly commented 2 years ago

Sounds good and makes sense to me .Sounds like I should close this issue now, possibly open another on broadway repo? Not sure, let me know how you want to proceed and handle the logistics on this one.

whatyouhide commented 2 years ago

@starbelly yes, I'll go ahead and close this issue as there is nothing to do right now in broadway_rabbitmq itself.

I’m not sure what the issue in Broadway would be though? 🙃 In any case, if there's something to do there, yes go ahead and open.

let me know how you want to proceed and handle the logistics on this one

My take is that you can open-source the AMQP 1.0 producer and later on we can figure it out if we want to make it officially supported by the Broadway team. What do you think?

starbelly commented 2 years ago

@whatyouhide Got it, was a bit of confusion my end 👍

slashmili commented 5 months ago

For the record we have implement off_broadway_amqp10. It's been in production for 2 years. We haven't put it on stress test though