NATS Blog

Welcome to the NATS Blog! We have content from NATS Maintainers, end-users, and community contributors. We always appreciate outside contributions so if you would like to contribute a blog post, see our Contributor's Guide for more information.

Guest Post: Build Real-time Systems with NATS and Pathway

SHLOK SRIVASTAVA & SERGEY KULIK — December 20, 2024

Scalable Alternative to Apache Kafka and Flink for Advanced Streaming While NORAD’s real-time tracking of Santa Claus’s sleigh across the globe is an annual tradition of the ultimate fleet manager, the NATS.io community is constantly challenging the boundaries of what is possible from a distributed scale perspective. Whether for creating interactive analytic dashboards for fleets of millions of sensors, to integrating plant floor data for predictive maintenance, or delivering latency sensitive AI workflows to edge devices, the topics discussed in this article are exactly the areas that distributed engineers and architects are trying to solve today. Read more...

Real-time analytics from Edge to multiple factories with NATS and i-flow

JAN STREHL — July 22, 2024

In the competitive landscape of the manufacturing industry (e.g., automotive), achieving efficient and scalable operations across multiple factory locations is critical. This case study examines the implementation of a real-time analytics solution using NATS and i-flow to overcome common challenges such as data silos, real-time processing requirements, scalability, and communication inefficiencies in OT/IT environments. The primary design goal was to seamlessly scale real-time analytics across various factory locations. Challenge There are several critical challenges that typically hinder operational efficiency and scalability through real-time analytics: Read more...

Delegate with trust

VINCENT VERMERSCH — May 21, 2024

When speaking about async patterns (messaging, event sourcing, etc.) with other developers, they often seem afraid of eventual consistency. However, it is often expressed in the form of: The frontend needs the answer directly The business process needs to be validated with perfect data My next page needs fresh data to display properly With a messaging system, you have to wait for the message to be processed and the state to be updated. Read more...

Nothin' but NATS - Building Natster

KEVIN HOFFMAN — March 26, 2024

This is the first post in a new series where we explore patterns, practices, and samples of applications built using nothing but features available from NATS. We take a critical look at dependencies and frameworks and ask, “Do we really need the extra complexity?". If we’re already using NATS, then what would it be like to use nothing but our NATS infrastructure for application development? Introducing Natster Natster is an open source reference application that illustrates how to build a secure media sharing platform that leverages core NATS primitives for things we might otherwise get from third party applications, platforms, or libraries. Read more...

Guest Post: Real-time IoT monitoring with NATS JetStream, RisingWave, and Superset

FAHAD SHAH — February 29, 2024

In the realm of IoT, real-time data processing presents specific challenges, including limited edge computing resources, network constraints, scalability considerations, and device diversity. Overcoming these obstacles requires the application of efficient edge computing techniques, robust security measures, standardized protocols, scalable management systems, and advanced data processing capabilities. By combining the strengths of NATS JetStream, RisingWave, and Superset, a powerful solution emerges for the development of reliable and scalable real-time IoT applications. Read more...

Introducing the NATS Execution Engine

KEVIN HOFFMAN — January 22, 2024

As people continue to leverage their NATS infrastructure by increasing the number of apps and services that rely on NATS, we tend to see some common patterns emerge. People end up with two different views of their infrastructure: the NATS connectivity map and the cluster-style resource views that come from their workload scheduler(s). With so many distributed applications, the infrastructure and connectivity is in place to support NATS and NATS-based applications, but is often underutilized. Read more...

Recovering Quorum After Renaming Servers

JOHN WELDON — January 20, 2024

Occasionally, a NATS cluster can lose quorum for various reasons. Here, we’ll look at one specific case, and how to recover from it.

Read more...

Streamlining Asynchronous Services with FastStream

TVRTKO STERNAK — October 23, 2023

Ever felt lost in the complexity of microservices and message queues? That’s precisely why FastStream was created. Initially, it was our solution to the challenges we faced with messaging queues in our own projects. But as it simplified our lives, we realized it could do the same for others. So, we decided to share it with the world. FastStream is a Python framework for building asynchronous services that interact with event streams like Apache Kafka, RabbitMQ, and NATS. Read more...

NATS Server 2.10 Release

BYRON RUTH — October 3, 2023

It’s finally here! 🤩 The NATS team is thrilled to announce the 2.10 release of the NATS Server! We want to thank everyone who contributed through discussions, raising issues, code contribution and testing early versions. ❤️ The journey to 2.10 Before diving into 2.10 itself, let’s reflect on the journey leading up to this release and why it is significant. It has been just over a year since the 2.9.x series started and a record 22 patch releases have landed since then. Read more...

NATS Server 2.9.22 Release

BYRON RUTH — September 8, 2023

The NATS maintainers are thrilled to announce the 2.9.22 release ! This brings a handful of fixes and improvements leading up to the 2.10.0 release coming later this month. We want to thank all of the people who contributed to this release through reporting issues, documentation improvements, and code contributions. As always, if you are interested in contributing, please check out all the ways you can . Before diving into 2. Read more...