NATS Messaging
NATS is an open-source messaging system developed under the stewardship of the Cloud Native Computing Foundation. 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.
NATS was originally developed by 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 - The core Publish-Subscribe Server for NATS.
- for a variety of programming languages.
- A - a pluggable Java based framework to connect NATS and other services.
'Core NATS' is the set of core NATS functionalities and qualities of service.
'JetStream' is the 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. JetStream replaced the old STAN approach.
Example
Below is a sample connection string from a telnet connection to the demo.nats.io site:Trying 107.170.221.32...
Connected to demo.nats.io.
Escape character is '^]'.
INFO