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.

JetStream Publishing with the NATS.io Java Library

SCOTT FAUERBACH — May 3, 2021

The previous entry in this series showed us how to create a stream. Once you have defined a stream, you can publish to the configured subjects. Publishing to stream subjects isn’t really much different from publishing a regular NatsMessage. Once a subject is established, you could publish a regular NatsMessage to that subject, but there are benefits to publishing via the JetStream API instead of the regular message API. Publish Acknowledgement When you publish via the JetStream API, each publish will receive an acknowledgement or PublishAck. Read more...

JetStream Stream Creation with the NATS.io Java Library

SCOTT FAUERBACH — April 29, 2021

The NATS Java library with support for JetStream has just been released! JetStream allows you to persist streams of messages, allows consumers to either subscribe in real time or to access the messages at a later time with the added flexibility to choose from where in the stream you want to start receiving messages. You can start reading from the stream at a specific point in time or start at a specific message sequence number. Read more...

Intro NATS CLI

R.I. PIENAAR — April 27, 2021

Introducing NATS CLI Historically NATS did not have a clear obvious place to go for a CLI tool, users had various example applications that had to build and run manually. These tools were primarily examples of using the APIs rather than full UX CLI experience. As part of the NATS 2.2.0 release that introduced JetStream and its administration needs, we took the opportunity to build a full CLI tool for users and administrators alike. Read more...

Headers with the NATS.io Java Library

SCOTT FAUERBACH — April 17, 2021

A few months ago, Header support was added to NATS Server. With the release of the 2.10.0 Java client , Headers are completely supported. NATS Headers are analogous to http request Headers and you can leverage them for the same type of things, for example, to pass information like security, request, transaction or state information. In Java terms, it’s analogous to a map of type Map<String, List<String>> In fact, that’s exactly what is used for the backing data structure in the Headers object. Read more...

What's New in NATS 2.2

COLIN SULLIVAN — April 12, 2021

Overview NATS 2.2 is the largest feature release since version 2.0. The 2.2 release provides highly scalable, highly performant, secure and easy-to-use next generation streaming in the form of JetStream, allows remote access via websockets, has simplified NATS account management, and provides native MQTT support built into the server. These features further enables NATS toward our goal of securely democratizing streams and services for the hyperconnected world we live in. Read more...

NATS and Certificate Authorities - Intermediate Rolls

PHIL PENNOCK — November 6, 2020

The NATS Server can make good use of TLS for securing various connections, including some modes where NATS servers talk directly to each other. When you configure the server to verify the certificate of a peer, you provide a path to a Certificate Authority bundle file, to act as a trust anchor. So far, so normal. In environments such as Kubernetes, it’s common for a certificate management process to create a Kubernetes secret, containing a key, a certificate, and a copy of the issuer’s certificate as ca. Read more...

Introducing the Synadia Adaptive Edge Architecture

COLIN SULLIVAN — October 30, 2020

Overview At Synadia we have the goal of unifying all cloud, edge, and IoT communications. We guide companies in their journey from where they are today toward efficiently operating a secure and resilient modern distributed communications system and leverage the NATS.io project to get them there. Derek Collison, creator of NATS, founded Synadia which stewards the NATS project. We see users deploy NATS in ways that fit into a few buckets - a single cluster k8s deployment, a cluster of NATS servers in the cloud, on VMs, or on bare metal. Read more...

NATS Connect Live 2020!

DEREK COLLISON — April 27, 2020

On April 16th, 2020 we had our first NATS conference, NATS Connect!. It was virtual of course as we are living in some interesting times, however the NATS ecosystem continues to amaze us and the conference exceeded all of our expectations. There will always be things we can improve, and we encourage your feedback, but for our first go we were pleasantly surprised! NATS has transformed itself in the last three years. Read more...

Appsecco Chooses NATS

NATS & APPSECCO — February 24, 2020

Appsecco is a security-focused company out of London specializing in Application and Data Security for cloud-based companies. At almost 4-years-old, Appsecco has clients ranging from major global financial institutions and professional services firms to leading international retailers and retail brands and from large scale, heavy engineering companies to cutting edge technology companies across the globe. Why Appsecco Chose NATS Appsecco is working on security workflow automation to deliver improved and effective application security services to their clients. Read more...

Guest Post: Using NATS to Implement Service Mesh Functionality, Part 4: Load Balancing and Routing Control

DALE BINGHAM — December 16, 2019

Once again, Dale Bingham of Cingulara adds to his series on using NATS for a service mesh type of implementations in your applications by contributing his thoughts on load balancing on APIs and services when you have more than one service answering requests or responding to events. Read the full article Using NATS to Implement Service Mesh Functionality Part 4: Load Balancing and Routing Control . More About the Author Dale Bingham is the CTO of Cingulara. Read more...