Skip to main content

Supported technologies

NATS Streaming Reliability Backed by Simplyblock

NATS is a lightweight, high-performance messaging system used for real-time communication, streaming, and microservices. While it excels at speed and scalability, persistence is crucial for NATS JetStream to guarantee message durability and replay. Without a reliable storage layer, message logs may be lost, or replication could slow down.

Simplyblock provides NVMe-over-TCP storage and zone-independent volumes, ensuring NATS message streams remain durable, scalable, and resilient across deployments.

Making NATS Streams Durable with Simplyblock

NATS JetStream stores messages in logs for replay and delivery guarantees. If storage is slow, consumers experience lag, message retention shrinks, and recovery after node failure takes longer.

By integrating simplyblock, NATS writes its stream logs to high-throughput, zone-independent volumes. This keeps publishers and subscribers in sync and reduces downtime in clustered deployments.

🚀 Use simplyblock with NATS for Persistent Streams
Simplyblock ensures message durability and efficient scaling for NATS clusters.
👉 Use simplyblock for Database Branching →

Step 1: Set Up a Volume for NATS JetStream Logs

To handle JetStream logs, provision a dedicated simplyblock volume:

sbctl pool create nats-pool /dev/nvme0n1

sbctl volume add nats-logs 100G nats-pool

sbctl volume connect nats-logs

Format and mount the volume:

mkfs.ext4 /dev/nvme0n1

mkdir -p /var/lib/nats

mount /dev/nvme0n1 /var/lib/nats

Persist the mount in /etc/fstab:

/dev/nvme0n1 /var/lib/nats ext4 defaults 0 0

This ensures NATS message logs are stored directly on simplyblock volumes for reliable durability.

Nats infographics

Step 2: Point NATS JetStream to Simplyblock Storage

Update the NATS configuration file to use simplyblock-backed storage:

In nats-server.conf:

jetstream: {

  store_dir: “/var/lib/nats”

  max_mem: 1Gb

  max_file: 100Gb

}

Restart NATS:

sudo systemctl restart nats-server

With this setup, JetStream writes streams to simplyblock volumes, ensuring log consistency. See the NATS JetStream storage guide for reference.

Step 3: Scale Up JetStream Storage on Simplyblock

As streams grow, expand the simplyblock volume without downtime:

sbctl volume resize nats-logs 200G

resize2fs /dev/nvme0n1

This allows NATS clusters to handle longer message retention and higher throughput. It complements features like NVMe-over-TCP storage.

Step 4: Keep JetStream Logs Available Across Zones

NATS is often deployed across zones for high availability. Traditional storage tied to one zone complicates failovers.

Simplyblock provides zone-independent volumes, allowing JetStream logs to remain available across zones.

This supports NATS use cases requiring high reliability, similar to multi-availability zone disaster recovery.

Step 5: Add Storage Replication for NATS Logs

Add storage-level replication to complement NATS JetStream clustering:

sbctl volume replicate nats-logs –zones=zone-a,zone-b

This ensures message streams remain available even during infrastructure failures. Guidance on clustering is closely described in the NATS JetStream clustering documentation.

Supporting Large NATS Storage Needs with Simplyblock

At enterprise scale, NATS requires predictable persistence and simple operations. Simplyblock makes it easier with CLI-based provisioning, resizing, and replication.

Features like Software-Defined Storage further simplify cluster deployments, while technical details are documented in the simplyblock Documentation.

Questions and Answers

How does Simplyblock improve NATS streaming reliability?

Simplyblock enhances NATS persistence by providing low-latency, NVMe-backed volumes. This reduces message loss risk and speeds up recovery after node failures, ensuring reliable delivery for streaming workloads.

Can Simplyblock support NATS in Kubernetes clusters?

Yes, simplyblock integrates with Kubernetes via CSI to provide durable, high-performance storage for NATS. Its distributed storage system foundation ensures consistent reliability across pods and nodes.

Is Simplyblock suitable for high-throughput NATS workloads?

Absolutely. Simplyblock scales with your NATS deployment, delivering predictable throughput and IOPS for workloads that require fast, durable message streaming and low-latency persistence.

How does Simplyblock compare to cloud disks for NATS persistence?

Unlike generic cloud disks, which can have unpredictable latency, simplyblock guarantees NVMe-grade performance. Its supported technologies also make it easier to integrate NATS with existing enterprise systems.

What are the benefits of using Simplyblock for NATS in hybrid or multi-cloud setups?

Simplyblock ensures NATS workloads remain reliable across hybrid and multi-cloud environments. Built-in replication and snapshots make message streaming durable while simplifying disaster recovery planning.