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.

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. It streamlines the entire process of working with message queues in microservices. Parsing messages, managing networking, and keeping documentation updated—all handled effortlessly.

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. This is the result of a significant amount of investment by the Synadia team into NATS testing and quality assurance over the past year which has accelerated NATS’ maturity and stability due to dedicated effort in engineering, testing and QA.

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.9.22, it is worth acknowledging that there have been three additional releases over the past three months since 2.9.18 . Announcement posts were not written for these releases (apologies!), so notable improvements and fixes will be rolled up into this one.

Read more...

NASCAR uses NATS to distribute real-time telemetry data

JEAN-NOËL MOYNE — July 31, 2023

Pushing the boundaries from the edge to the cloud at ultra-low latency: how NASCAR uses NATS to deliver real-time racing data to broadcasters, racing teams, and fans.

Distributing live telemetry data

NASCAR’s NextGen cars feature a host of changes including being fitted with sensors generating 60 data points hundreds of times per second for the duration of the race. This telemetry data is transmitted over UHF radio waves to the NASCAR mobile data center (literally a data center in a semi-truck trailer that goes to each track venue), where it is then ingested and retransmitted both to the racing teams and broadcasters on-site at the track but also to the AWS cloud where it is both stored for historical analysis and re-distributed in real-time to the team’s back offices and to racing fans.

Read more...

NATS .NET Client v2 Alpha Released with Core NATS Support

ZIYA SUZEN — July 13, 2023

Starting in 2018 with .NET Core 2.1 , the .NET platform began to receive serious performance improvements in every major release. This excited many .NET developers, who have been enjoying faster and more efficient runtimes just by upgrading their project targets with every new .NET release. In 2021, .NET 6 became the first LTS release under Microsoft’s new .NET and .NET Core Support Policy .

The original NATS .NET client, called NATS.Client v1 on NuGet, pre-dates these advancements and Microsoft’s new LTS roadmap - it was originally released in 2015! Backwards compatibility remains a large commitment in NATS.Client v1, which would make it difficult to port in order to take advantage of new APIs.

Read more...

Release Candidate - NATS 1.0.0 Helm Chart

CALEB LLOYD — July 5, 2023

As the Kubernetes ecosystem continues to grow, installing NATS via Helm has become a very popular method.

The NATS 0.x series of the Helm Chart was initially released in 2020, a full year before JetStream was even available in the NATS Server.

The past 3 years have taught us that it is important to support all of the extensibility options possible in Kubernetes resources - custom Image Registries, ConfigMaps, TLS Secrets, Volumes and Mounts, Init Containers, and more.

Read more...

Building a Data-Driven Healthcare Demo with NATS.io

DAVID GEE — June 26, 2023

We’re lucky to have partners and customers in healthcare and even luckier to have a team of highly skilled and talented software engineers. So when the challenge came along to build a meaningful demo for a Telehealth scenario, we couldn’t resist. No conversation on this topic would be complete without a sprinkle of AI or ML and so we posit that when used for good, these technologies can be applied to the preservation and quality of human life. That said, there are many challenges which range from measuring and digitizing signals from humans, to processing that data into meaningful actions and managing services at a high level for patient care.

Read more...

NATS Server 2.9.18 Release

BYRON RUTH — June 14, 2023

The NATS maintainers are happy to announce the 2.9.18 release ! We want to thank all of the people who contributed to this release through reporting issues and code contributions! If you are interested in contributing, please check out all the ways you can !

This release was a smaller one than the prior few, but there are still some key areas to cover, including:

For the entirety of the improvements and fixes, check out the release notes .

Read more...

Preview Release New JetStream Client API

TOMASZ PIETREK — June 12, 2023

Preview Release of the New JetStream Client API

The NATS Maintainers at Synadia are excited to announce the preview release of the latest major improvement to the NATS client libraries - the new JetStream API. This is an important milestone to continue delivering developer-friendly, flexible, and comprehensive tooling for NATS. We’ve listened to your feedback and are confident this new API will simplify JetStream-related development and adoption.

The two-week preview period, starting June 12, 2023, is an opportunity for you to try the new API and provide feedback to refine and polish the client APIs. During the preview period, subtle breaking changes will likely be made. The client releases following the preview period will then be considered stable.

Read more...

NATS Server 2.9.17 Release

BYRON RUTH — May 19, 2023

The NATS maintainers are proud to announce the 2.9.17 release ! We want to thank all of the people who contributed to this release! If you are interested in contributing, please check out all the ways you can !

The key areas this post will cover include:

For the entirety of the improvements and fixes, check out the release notes .

🐘 WebSocket transport truncation

As part of the P99 performance work in the 2.9.16 release , a regression was introduced, resulting in faulty subscription behavior in clients receiving fairly large messages over the WebSocket transport. Internally this had to do with prematurely deallocating a buffer to a shared pool before data was entirely flushed on a connection.

Read more...