Puneet Varma (Editor)

NATS Messaging

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Apcera

Written in
  
Go

Development status
  
Active

Operating system
  
Cross-platform

Stable release
  
0.9.6 / December 2016; 3 months ago (2016-12)

Type
  
Message broker, Open Source Messaging, message-oriented middleware

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.

Apcera 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 MIT 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

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

    References

    NATS Messaging Wikipedia