NATS ist ein leichtgewichtiges Open-Source-System, mit dem Anwendungen, Dienste und Geräte Nachrichten untereinander austauschen können. Es wird vor allem in verteilten Systemen eingesetzt, etwa bei Microservices, Cloud-Anwendungen, IoT-Geräten oder Echtzeitdiensten.
Programme senden Nachrichten dabei nicht zwingend direkt an einen bestimmten Empfänger. Stattdessen können sie Nachrichten unter benannten Themen veröffentlichen, auf die andere Anwendungen reagieren. NATS unterstützt unter anderem Publish/Subscribe und Request/Reply. Mit der integrierten Erweiterung JetStream lassen sich Nachrichten zusätzlich dauerhaft speichern und später erneut verarbeiten.
Interessant ist NATS vor allem dort, wo viele voneinander unabhängige Komponenten schnell miteinander kommunizieren müssen. Durch die Entkopplung müssen Sender und Empfänger wenig voneinander wissen. Das erleichtert den Aufbau skalierbarer Systeme, erhöht aber zugleich die Bedeutung einer sauberen Architektur und Zugriffskontrolle.