4 ms·
https://nats.io/ https://nats.io/
by zcw100 7y ago
https://nats.io/ https://nats.io/
- manigandham 7y agoNote that NATS on it's own is just a pub/sub system and doesn't have any queuing or persistence. There is no "log". You need the NATS Streaming server for that which implements persistence while communicating over NATS.
- afrodc_ 7y agoI was looking into https://github.com/liftbridge-io/liftbridge https://github.com/liftbridge-io/liftbridge. I believe he was a maintainer of NATS streaming and wanted to make something lightweight and Kafka-esque.
- corford 7y agoLiftbridge looks cool but right now you need use their protobuf defs and cook your own client lib if you want bindings outside of go.
- manigandham 7y agoLiftbridge is an experiment and has no real production users. NATS Streaming is already fine for lightweight single-host usage. If you really need to scale to multiple servers then I recommend skipping NATS Streaming and going straight to Kafka or Apache Pulsar.
- dmix 7y agoHave any more lighter-weight recommendations that fit the queuing and persistence category?
- manigandham 7y agoRabbitMQ is another option. Clustering is fragile, but it's fine if you just need a single-node: https://www.rabbitmq.com/ https://www.rabbitmq.com/ There are also proprietary systems like Solace: https://solace.com/ https://solace.com/ Other than that, there are embedded queuing/log libraries or you can just dump the messages into a key/value store or write them out to a file yourself.