top | item 10174586

NATS – An open-source, high-performance, lightweight messaging system

59 points| stargrave | 10 years ago |nats.io

16 comments

order
[+] perlgeek|10 years ago|reply
I'd like to know more about:

* clustering - what kinds of clusters are supported? How do they scale? Do they favor availability or consistency?

* security - is there any authentication? authorization for certain resources? TLS?

* guarantuees for delivery? Transactional modes?

* what does the wire protocol look like? Support for meta data?

I clicked around the website and documentation a bit, and didn't find any answers.

[+] tylertreat|10 years ago|reply
> * clustering - what kinds of clusters are supported? How do they scale? Do they favor availability or consistency?

There is no persistence so consistency is irrelevant. NATS does everything in the name of availability to the point of dropping connections for slow consumers.

> * security - is there any authentication? authorization for certain resources? TLS?

TLS is planned, not sure on timeline. It sounds like Apcera has plans for some form of authentication and multitenancy as well.

> * guarantuees for delivery? Transactional modes?

At-most-once delivery. No transactions. There may be some form of more reliable delivery coming in the future, but I'm not sure of the details.

> * what does the wire protocol look like? Support for meta data?

Very simple text-based protocol. I don't think it's formally documented anywhere currently though.

[+] jacques_chester|10 years ago|reply
NATS is legit -- Derek Collison has experience in messaging systems going back a very long way.

Cloud Foundry still has a bunch of NATS-based services because Derek was one of the founders of the first versions, back when Cloud Foundry was a VMWare skunkworks effort (VCAP).

Disclaimer: I work for Pivotal Labs, a division of Pivotal, which contributes the largest amount of engineering effort to Cloud Foundry. Apcera is, nominally, a competitor. I should also mention that my understanding of CF's early history is based on accounts I've heard and might be flawed.

[+] jedisct1|10 years ago|reply
Nats is really neat, and super simple to deploy.

For many use cases, the lack of persistence might be a showstopper, though.

[+] bjflanne|10 years ago|reply
Hi guys I'm on the Community/Ecosystem side of NATS...timely comment. Persistence is actually on the roadmap but we only just discussed end of August at our Bay Area meetup:https://youtu.be/jxpYszUi8JQ

Please feel free to ping me with further questions, comments, ideas etc if you'd like to chat further: [email protected]

[+] fbomb|10 years ago|reply
How does performance compare to 0mq?
[+] justinsaccount|10 years ago|reply
This is covered on the other page they link to:

http://bravenewgeek.com/dissecting-message-queues/

"ZeroMQ is capable of sending over 5,000,000 messages per second but is only able to receive about 600,000/second. In contrast, nanomsg sends shy of 3,000,000/second but can receive almost 2,000,000."

So.. nanomsg is 10x faster. Why would one use nats?

[+] tylertreat|10 years ago|reply
Not a fair comparison. ZeroMQ is a socket library. NATS is a message broker.
[+] eikenberry|10 years ago|reply
At least once or at most once?
[+] tylertreat|10 years ago|reply
NATS is at-most-once delivery, which is partly why it's so fast. Sounds like there are plans to introduce stronger guarantees in the future though.