I have been building messaging systems for around 20yrs, previously doing
work at TIBCO on Rendezvous and EMS.
NATS is the result, in principle, of my changing thoughts on what messaging
systems should be. This is not an enterprise messaging system, like
RabbitMQ, or even EMS which I built in the past.
NATS does not have persistence, or transactions. It is more like a nervous
system, and it will protect itself at all costs. It does publish/subscribe,
and distributed queues. One of my nits is that queues are an
interest/subscribe operation, not a publish operation. NATS can mix and
match these models at will. The other speciality is around patterns of
asking questions to an unknown group size who can potentially answer. NATS
has built in primitives to actively prune the interest graph during the
receipt of answers, which offloads the clients from large unpredictable cpu
spikes when throwing away messages.
Here is a quora answer that may be useful as
In terms of benchmarks for gnatsd, run the following.
go test --bench="." -run="zzz"
On Friday, October 18, 2013 4:37:12 PM UTC-7, Ryan Smith wrote:
Thanks for sharing. Just out of curiosity, what is the problem that NATS
solves? I wasn't able to find this info in the docs of the Ruby project or
the Go project. Is there a blog post that explains your motivations? Also,
does this technology compare with other open source projects? Finally, what
makes Gnatsd high performance? I didn't see any benchmark code in the
source tree, so it is hard to understand what high performance means in
On Friday, October 18, 2013 4:16:43 PM UTC-7, Derek Collison wrote:
I am pleased to announce that we have open-sourced our high-performance
NATS server, gnatsd. The server is licensed under the MIT license, and
hosted on GitHub <https://github.com/apcera/gnatsd
The NATS messaging system has gained global appeal as a tool for building
distributed platforms and cloud-based systems. While not a traditional
enterprise messaging system, it is very well suited to being the
appropriate backplane for a new style of platform architectures.
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to email@example.com.
For more options, visit https://groups.google.com/groups/opt_out.