If someone want to hear some experience using NATS in production(this is based on NATS):<p>* standalone server is mature and very stable, crunching messages with incredible speed<p>* server side error handling is ok, no problems here<p>* very simple, text-based protocol, even simplier than STOMP<p>* c, rust, java, python client libraries are weak; c library even contains some state transition errors when the library can lock on reconnect( <a href="https://github.com/nats-io/nats.c/issues/217" rel="nofollow">https://github.com/nats-io/nats.c/issues/217</a> ). (unofficial) rust library is unusable. some netowork errors will not make nats.c reconnect what can be a surprise in prod.<p>* arbitrary hardcoded limit on the message size - 1M
It looks like Liftbridge occupies a nice little niche between full-blown, durable Kafka and lightweight, ephemeral NATS.<p>Additional reading: <a href="https://bravenewgeek.com/introducing-liftbridge-lightweight-fault-tolerant-message-streams/" rel="nofollow">https://bravenewgeek.com/introducing-liftbridge-lightweight-...</a>
While searching for comparable solutions to understand what this about, I found this website which has a very good summary about queue systems and the like: <a href="http://queues.io" rel="nofollow">http://queues.io</a>
This is based on NATS. NATS just had their 2.0 release: <a href="https://nats-io.github.io/docs/whats_new/whats_new_20.html" rel="nofollow">https://nats-io.github.io/docs/whats_new/whats_new_20.html</a>
I believe NATS streaming server also fills this niche: <a href="https://github.com/nats-io/nats-streaming-server" rel="nofollow">https://github.com/nats-io/nats-streaming-server</a><p>Can anyone speak to the current state of each project, pros & cons?
Say I need to add messaging with persistence (at least once delivery) for my stack (multiple services, often but not always on the same machine), and I want the stack to not have external dependencies-so it's easy to install. Does liftbridge fill this niche? Would NATS streaming be a better solution or maybe Akka with Persistence module?