NATS Messaging

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
NATS
NATS-logo.png
Developer(s) Synadia Communications, Inc.
Stable release
1.3.0 / 30 August 2018; 46 days ago (2018-08-30)
Written in Go
Operating system Cross-platform
Type Message broker, Open Source Messaging, 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.[1]

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 - The core Publish-Subscribe Server for NATS.
  • NATS Streaming - A data streaming system powered by NATS that adds persistence, message replay, durable subscriptions, etc. to NATS.
  • Client libraries for a variety of programming languages
  • A connector framework - a pluggable Java based framework to connect NATS and other services.

Microservices frameworks such as Micro, Mainflux, and Hemera rely on NATS as their messaging backbone.

Example[edit]

Below you can see a sample connection string from a telnet connection to the demo.nats.io site[2]

telnet demo.nats.io 4222

Trying 107.170.221.32...
Connected to demo.nats.io.
Escape character is '^]'.
INFO {"server_id":"1ec445b504f4edfb4cf7927c707dd717","version":"0.6.6","go":"go1.4.2","host":"0.0.0.0",
"port":4222,"auth_required":false,"ssl_required":false,"max_payload":1048576}

References[edit]

  1. ^ http://nats.io/documentation/
  2. ^ "NATS Protocol". NATS Documentation. Retrieved 6 May 2016.

Further reading[edit]