Hubbry Logo
search button
Sign in
NATS Messaging
NATS Messaging
Comunity Hub
History
arrow-down
starMore
arrow-down
bob

Bob

Have a question related to this hub?

bob

Alice

Got something to say related to this hub?
Share it here.

#general is a chat channel to discuss anything related to the hub.
Hubbry Logo
search button
Sign in
NATS Messaging
Community hub for the Wikipedia article
logoWikipedian hub
Welcome to the community hub built on top of the NATS Messaging Wikipedia article. Here, you can discuss, collect, and organize anything related to NATS Messaging. The purpose of the hub is to connect peo...
Add your contribution
NATS Messaging
NATS
Developer(s)Cloud Native Computing Foundation
Initial release2011 [1]
Stable release
2.11.8 / August 14, 2025; 21 days ago (2025-08-14)
Repositorygithub.com/nats-io/nats-server
Written inGo
Operating systemCross-platform
TypeMessage broker, message-oriented middleware
LicenseApache 2.0
Websitewww.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 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.[5]

Example

[edit]

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

Trying 107.170.221.32...
Connected to demo.nats.io.
Escape character is '^]'.
INFO {"server_id":"NDYAZEECE6VIWJDI6472YYCL237ST742NSWDO737YPZ4IKSQWJRURZYM","server_name":"us-south-nats-demo","version":"2.11.8","proto":1,"git_commit":"ec0d7e3","go":"go1.24.6","host":"0.0.0.0","port":4222,"headers":true,"tls_available":true,"max_payload":1048576,"jetstream":true,"client_id":915,"client_ip":"2605:a601:a0ee:300:fc5e:52d1:5bd9:2d01","nonce":"1bXJUmAVLjLQneU","xkey":"XCZTQRI6DC36QGXELJ6LEZ53PYOZ6HYRXP2JUOUNOMCZXZNMRP4HGVNC"}

References

[edit]
  1. ^ "Release v0.3.12 · nats-io/Nats.rb". GitHub.
  2. ^ "NATS Documentation".
  3. ^ a b "NATS FAQ".
  4. ^ "What's New in NATS 2.2".
  5. ^ "NATS JetStream".
  6. ^ "NATS Protocol". NATS Documentation. Retrieved 6 May 2016.

See also

[edit]

Further reading

[edit]