5 ms·
https://nats.io https://nats.io is easier to use than Kafka and already solves several of the points in this post I believe, like removing partitions, supportin
by vim-guru 1y ago
https://nats.io https://nats.io is easier to use than Kafka and already solves several of the points in this post I believe, like removing partitions, supporting key-based streams, and having flexible topic hierarchies.
- fasteo 1y agoAnd JetStream[1] adds persistence to make it more comparable to Kafka [1] https://docs.nats.io/nats-concepts/jetstream https://docs.nats.io/nats-concepts/jetstream
- wvh 1y agoI came here to say just that. Nats solves a lot of those challenges, like different ways to query and preserve messages, hierarchical data, decent authn/authz options for multi-tenancy, much lighter and easier to set up, etc. It has more of a messaging and k/v store feel than the log Kafka is, so while there's some overlap, I don't think they fit the exact same use cases. Nats is fast, but I haven't seen any benchmarks for specifically the bulk write-once append log situation Kafka is usually used for. Still, if a hypothetical new Kafka would incorporate some of Nats' features, that would be a good thing.
- boomskats 1y agoAlso remember that NATS was donated to the CNCF a while back, and as a result people built a huge ecosystem around it. Easy to forget.
- rmoff 1y agoRelevant: https://www.cncf.io/blog/2025/04/24/protecting-nats-and-the-integrity-of-open-source-cncfs-commitment-to-the-community/ https://www.cncf.io/blog/2025/04/24/protecting-nats-and-the-...
- cmckn 1y agoYikes, what a dastardly move from Synadia. This will only have a chilling effect on the project, which has struggled to reach critical mass.
- Zambyte 1y agoWow, what a poor move. Really surprising having worked with the folks at Synadia directly.
- openplatypus 1y agoHow to kill a project and blemish your brand? Ding Ding Ding That's correct!
- nchmy 1y agoAlso related https://news.ycombinator.com/item?id=43783452 https://news.ycombinator.com/item?id=43783452
- mountainriver 1y agoI greatly prefer redis streams. Not all the same features, but if you just need basic streams, redis has the dead simple implementation I always wanted. Not to mention you then also have a KV store. Most problems can be solved with redis + Postgres
- ketzo 1y agoActually thinking about building something with Redis streams next week. Any particular advice/sharp edges/etc?
- mountainriver 1y agoHonestly no, which was my favorite part. So easy to spin up, "just works" the way you expect. It's night and day from a lot of the other solutions in the ecosystem.
- immibis 1y agoDon't, under any circumstances, let it come into contact with an untrusted network. Anyone who can connect to your Redis service gets arbitrary remote code execution.
- Zambyte 1y ago> Not to mention you then also have a KV store. https://docs.nats.io/nats-concepts/jetstream/key-value-store https://docs.nats.io/nats-concepts/jetstream/key-value-store
- raverbashing 1y agoHonestly that website has the least amount of information per text I've seen in multiple websites I had to really dig (outside of that website) to understand even what NATS is and/or does It goes too hard on the keyword babbling and too little on the "what does this actually do" > Services can live anywhere and are easily discoverable - decentralized, zerotrust security Ok cool, this tells me absolutely nothing. What service? Who to whom? Discovering what?
- nchmy 1y agoAgreed. It is amazing though, and actually so simple that you don't need much docs. Their YouTube channel is excellent.
- atombender 1y agoThe documentation site might be a little better: https://docs.nats.io/ https://docs.nats.io/ NATS is mainly two things: 1. Core NATS, an ephemeral message broker. It's a lightweight pub/sub system where routing of messages is based on wildcard paths. All in memory, lightning fast, extremely lightweight. You can use it for RPC, queues, broadcasting, file transfer, anything. 2. JetStream, which is a Kafka/Pulsar-like log built on top of Core NATS. Streams are indexed, meaning there's no strong need for partitioning or consumer groups, since readers can efficiently filter the stream by interest (you can still partition for write performance). Supports both durable and ephemeral consumers, in-memory streams, ack/nack, priority groups, deduplication, exactly-once delivery, hierarchical clusters, offline clusters ("leaf clusters"), mirroring, etc. I often find it difficult to explain the magic of NATS. It's a communication model that doesn't really exist anywhere else, as far as I've seen. The closest might be ZeroMQ. JetStream could be explained as "Kafka for people who don't want to administer Kafka". It's very low-maintenance, very easy to use, feels super lightweight, and still offers much of the performance and reliability of Kafka, as well as a much richer feature set that maps better to what people may want from a streaming log.
- nchmy 1y agoNATS is also in the process of a open source license rugpull... https://news.ycombinator.com/item?id=43783452 https://news.ycombinator.com/item?id=43783452
- rcombatwombat 1y agoNo rug pull: https://www.cncf.io/announcements/2025/05/01/cncf-and-synadia-align-on-securing-the-future-of-the-nats-io-project/ https://www.cncf.io/announcements/2025/05/01/cncf-and-synadi...