NATS Messaging

NATS

Developer(s)| Cloud Native Computing Foundation
Initial release| 2011 [1]
Stable release|

2.12.1 / October 14, 2025; 6 months ago (2025-10-14)

Repository| github.com/nats-io/nats-server
Written in| Go
Operating system| Cross-platform
Type| Message broker, message-oriented middleware
License| Apache 2.0
Website| www.nats.io

NATS is an open-source messaging system (sometimes called message-oriented middleware). The NATS server is written in the Go programming language. Client libraries to interface with the server are available for dozens of major programming languages. The core design principles of NATS are performance, scalability, and ease of use.[2] The acronym NATS stands for Neural Autonomic Transport System.[3]

NATS is an open source project under the stewardship of CNCF. NATS was originally developed by Derek Collison as the messaging control plane for Cloud Foundry and was written in Ruby. NATS was later ported to Go.

The source code is released under the Apache 2.0 License. NATS consists of:

* The NATS Server \- The core Publish-Subscribe Server for NATS.
* Client libraries for a variety of programming languages.
* A connector framework \- a pluggable Java based framework to connect NATS and other services. NATS is a CNCF project with Kubernetes and Prometheus integration.

The NATS server is often referred to as either 'Core NATS' or NATS with 'JetStream'. 'Core NATS' is the set of core NATS functionalities and qualities of service. 'JetStream' is the (optionally enabled) built-in persistence layer that adds streaming, queues, at-least-once and exactly-once delivery guarantees, historical data replay, decoupled flow-control and key/value store functionalities to Core NATS.[3] JetStream replaced the old STAN (NATS Streaming) approach.[4]

## Contents

* 1 Example
* 2 References
* 3 See also
* 3.1 Further reading

## Example

Below is a sample connection string from a telnet connection to the demo.nats.io site:[5]

Trying 107.170.221.32...
Connected to demo.nats.io.
Escape character is '^]'.
INFO {"server_id":"NDRF5QLHFSLGQTXSAWZNVAMW3GWCJVBAORUPP2HTQHLI5WE5LFNYRKIO","server_name":"us-south-nats-demo","version":"2.12.0","proto":1,"git_commit":"fc6ec64","go":"go1.25.1","host":"0.0.0.0","port":4222,"headers":true,"tls_available":true,"max_payload":1048576,"jetstream":true,"client_id":3238,"client_ip":"2605:a601:a0ee:300:ed90:b74e:e247:4a06","nonce":"4SC3P0RhVN_M3Do","api_lvl":2,"xkey":"XA3TOTU4N62FAOTGIBMXJTQK3H3PJX4G5OI4G66XURCIG4UGL47SK7YS"}

## References

1. ↑ "Release v0.3.12 · nats-io/Nats.rb". https://github.com/nats-io/nats.rb/releases/tag/v0.3.12.
2. ↑ "NATS Documentation". https://docs.nats.io.
3. ↑ 3.0 3.1 "NATS FAQ". https://docs.nats.io/reference/faq#what-does-the-nats-acronym-stand-for.
4. ↑ "NATS JetStream". https://docs.nats.io/nats-concepts/jetstream.
5. ↑ "NATS Protocol". https://docs.nats.io/nats-protocol/nats-protocol-demo. Retrieved 6 May 2016.

## See also

* Prometheus NATS exporter

### Further reading

* Aslam, Asim. "Micro on NATS - Microservices with Messaging". https://blog.micro.mu/2016/04/11/micro-on-nats.html. Retrieved 6 May 2016.
* Werthheim, Daniel (2016-04-27). "NATS - What a beautiful protocol". Danielwertheim. http://danielwertheim.se/nats-what-a-beautiful-protocol/. Retrieved 4 May 2016.
* Riggins, Jennifer (2015-12-15). "How NATS, a REST Alternative, Provides Messaging for Distributed Systems". http://thenewstack.io/nats-rest-alternative-provides-messaging-distributed-systems/. Retrieved 6 May 2016.
* Monteiro, Diogo. "Using NATS instead of HTTP for inter service communication". http://www.diogogmt.com/2016/02/08/benchmarking-nats-and-rest/. Retrieved 2 May 2016.
* Sohlich, Radomir (23 April 2016). "NATS to REST Proxy". http://nats.io/blog/natsproxy_project/. Retrieved 1 May 2016.
* Gracely, Brian; Delp, Aaron. "NATS - Cloud Native Infrastructure". http://www.thecloudcast.net/2015/12/the-cloudcast-233-nats-cloud-native.html. Retrieved 23 December 2015.
* "A signaling system for 10M+ concurrent connections". Greta. 2016-03-21. http://blog.greta.io/a-webrtc-signaling-system-that-scales-very-effectively/. Retrieved 6 May 2016.
* Treat, Tyler (28 April 2020). "Benchmarking Message Queue Latency". http://bravenewgeek.com/tag/message-queues/.
* Fulton III, Scott (2016-07-18). "NATS Moves to Real-time Message Streaming with Persistence". http://thenewstack.io/apcera-nats-moves-real-time-message-stream-brokering/. Retrieved 19 July 2016.
* "Protecting NATS and the integrity of open source". 2025-04-24. https://www.cncf.io/blog/2025/04/24/protecting-nats-and-the-integrity-of-open-source-cncfs-commitment-to-the-community/. Retrieved 25 April 2025.

* v
* t
* e

Message-oriented middleware

* Apache ActiveMQ
* Apache Camel
* Apache Kafka
* Apache Qpid
* Open Message Queue
* RabbitMQ
* StormMQ
* ZeroMQ
* more...

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/NATS Messaging. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:NATS_Messaging&oldid=4139274"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template