NavigationContentFooter
Jump toSuggest an edit
Was this page helpful?

NATS - Concepts

Reviewed on 01 April 2025Published on 01 April 2025

CredentialsLink to this anchor

Credentials give services and platforms access to Scaleway NATS, enabling them to connect to the host system. NATS credentials give full read-write-manage access to your NATS message broker. See the documentation on how to create credentials for full details.

Message brokerLink to this anchor

A message broker is a piece of software that allows applications, systems and services to communicate with each other and send/receive data. It facilitates the exchange of information by receiving messages from a producer, and transmitting them to a consumer. Scaleway NATS is a message broker tool based on the NATS messaging system.

Message volumeLink to this anchor

Message volume is one of the factors affecting the billing of Scaleway NATS. Message volume is calculated as the number of messages sent to/received by NATS, multiplied by the message size. Or, the sum of the size of all messages passing through NATS.

Message persistenceLink to this anchor

Message persistence is one of the factors affecting the billing of Scaleway NATS. Message persistence is calculated as the total amount stored in NATS, multiplied by the duration it is stored for.

Messaging and QueuingLink to this anchor

Previously, Scaleway Messaging and Queuing was a single product that grouped together three different messaging protocols. It has now been split into three distinct products: NATS, Queues, and Topics and Events.

NATS accountLink to this anchor

A Scaleway NATS account sets a scope for any NATS credentials, messages, queues and streams held within it. You can create one or multiple NATS accounts with Scaleway NATS.

NATS messaging systemLink to this anchor

The Neural Autonomic Transport System, or NATS, is a distributed messaging system, designed to be lightweight and high-performance. Fully open-source, it is part of the Cloud Native Computing Foundation (CNCF) and has more than 40 client language implementations.

It implements both of the following:

  • A publish/subscribe model, designed for real-time messaging and notifications and event-driven architectures. This is ideal for communication between microservices.
  • A streaming service via JetStream, providing persistence so that messages can be re-accessed after sending. The streaming add-on is ideal when applications require message replay or historical data access, such as event sourcing and audit logs.

Publish/SubscribeLink to this anchor

This is the primary messaging model for NATS, sometimes abbreviated to “pub/sub”. The key feature of publish/subscribe is that the publisher does not send messages to defined recipients. Instead, subscribers define the types of message they are interested in, and only receive messages matching their criteria. The publisher sends the message without knowing exactly who will receive it.

The publish/subscribe model relies on a message broker to relay messages between publishers and subscribers. With NATS, subscribers can select which messages to receive based on subject.

RegionLink to this anchor

NATS is available in multiple regions. A region designates the geographical area where the service is hosted. Refer to the product availability table to check which regions are available for NATS.

When creating a NATS account, you need to do this on a region-by-region basis. The region drop-down in the console allows you to switch between available regions.

Scaleway NATSLink to this anchor

Scaleway NATS is a managed messaging service that leverages the open-source NATS messaging system to enable seamless communication between distributed applications and microservices. Scaleway handles set-up, patching, and performance optimization, as well as scaling to adjust to dynamic workloads, and backups of your data.

Check our our NATS quickstart to get started with Scaleway NATS, or our tutorial on creating a serverless architecture to process large messages with NATS, to get an idea of how to go further.

StreamLink to this anchor

NATS includes the JetStream feature, an add-on to its pub/sub model which implements message streams with persistent messaging capabilities. Distinct from traditional message brokers where messages are deleted once received/consumed, streams retain records (“persistence”) of their events. A streaming broker is therefore often likened to a distributed append-only logs file, where every new message is added at the end of the persistent log. Consumers can be thought of as “cursors” in the stream, consuming the stream’s messages according to their filters.

With NATS, you would typically implement a queue as a stream with a single consumer to read from.

Was this page helpful?
API DocsScaleway consoleDedibox consoleScaleway LearningScaleway.comPricingBlogCareers
© 2023-2025 – Scaleway