NATS Messaging

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
Developer(s)Synadia Communications, Inc.
Initial release2011 [1]
Stable release
2.10.3 / 12 October 2023 (2023-10-12)
Repositoryhttps://github.com/nats-io/nats-server.git
Written inGo
Operating systemCross-platform
TypeMessage broker, Open Source Messaging, message-oriented middleware
LicenseApache 2.0
Websitewww.nats.io

Synadia develops and provides support for NATS. 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

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":"NCVTRGDYJTUZNNGGK2OLBIWKQZHP7E5EKLA3ULVJJVK2FTTTNGZONPE2","server_name":"us-south-nats-demo","version":"2.10.3","proto":1,"git_commit":"1528434","go":"go1.21.3","host":"0.0.0.0","port":4222,"headers":true,"tls_available":true,"max_payload":1048576,"jetstream":true,"client_id":7221,"client_ip":"2603:8080:1e40:11f7:f842:3e6f:f5bb:13d0","nonce":"z56SjdqdHyCGC60","xkey":"XCF5EQS7IHJJGVHHPG7JT3IVFRSPYR2CZBCGW2VGY5EIEAU32WTB2IZO"}

References

See also

Further reading

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.