On Mon, 2022-08-29 at 13:46 +0000, Tobias Urdin wrote:
Hello everyone,
Before continuing on, yes this kind of is a massive effort but it doesn’t have to be, it would be very cool to get a replacement for RabbitMQ as I’m probably not the only one not satisfied with it. I've proposed a very bare POC in [1] but it's long way from being finished, but atleast some basic devstack is passing. +1 for actully doing this i looked at adding nats support brifly in the past but never found the time to actully try doing it. i thnk it is a very interesting alternitive to consider moving forward.
NATS [2] is a cloud-native scalable messaging system that supports the one-to-many and pub-sub methods that we can use to implement it as a oslo.messaging driver.
This would make OpenStack easier to deploy in a highly available fashion, reduce outages related to RabbitMQ, free up memory and CPU usage by RabbitMQ (it’s insane when using clustering) and embrace a more cloud-native approach for our software that runs the cloud, alternatives is also welcome :)
The POC has a lot of things that could be improved for example: • Do retries and acknowledgements in the library (since NATS does NOT persist messages like RabbitMQ could) • Handle reconnects or interruptions (for example resubscribe to topics etc) • Timeouts need to be implemented and handled • Investigate maximum message payload size • Find or maintain a NATS python library that doesn't use async like the official one does • Add a lot of testing • Cleanup everything noted as TODO in the POC code
Now I couldn’t possibly pull this off myself without some collaboration with all of you, even though I’m very motivated to just dig in and do this for the rest of the year and migrate our test fleet there I unfortunately (like everyone else) is juggeling a lot of balls at the same time.
If anybody, or any company, out there would be interested in collaborating in a project to bring this support and maintain it feel free to reach out. I’m hoping somebody will bite but atleast I’ve put it out there for all of you.
Best regards Tobias
[1] https://review.opendev.org/c/openstack/oslo.messaging/+/848338 [2] https://nats.io