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.

New Developer Documentation Series

ALBERTO RICART — September 6, 2018

How good is software if you don’t know how to use it? Documentation is needed no matter how simple to follow and easy to use you purport your code to be, and that is especially true with open source software. The NATS Team has worked hard to improve and reorganize our documentation along with newly created code examples across six different client languages that illustrate how to use supported NATS clients. Read more...

Typescript NATS

ALBERTO RICART — August 9, 2018

Ode to Node-NATS: Ts-NATS - the TypeScript native NATS for Node. On December 23, 2011, Derek Collison gave us node-nats (Node.js v0.06). Node-nats is the second oldest client for NATS; only ruby-nats is older (10/30/2010). Node-nats is arguably one of the most popular NATS clients sporting over 64K monthly downloads. Over the last year or so, we have been getting requests here and there to promisify the library. While on the surface these seem like syntactic sugar, changing node-nats to offer Promise and Async support requires a bit more. Read more...

NATS Operator: Integrating Kubernetes ServiceAccounts for operated NATS clusters

WALDEMAR QUEVEDO — July 19, 2018

The latest release of the NATS Operator has alpha support to configure the authorization rules for an operated NATS cluster, via CustomResourceDefinitions , by using Kubernetes ServiceAccounts present in a namespace. In this blog post, we will explain how to use this feature along with details of the internals on how it currently works. Getting started In order to use the ServiceAccounts mapped accounts for an operated NATS cluster, you will need at minimum, a Kubernetes v1. Read more...

Java Client Hits 2.0!

STEPHEN ASBURY — July 17, 2018

We Are Listening We know the NATS Java library hasn’t seen a lot of love in the last year, but we are reinvigorated and the library has reached a new milestone. We wanted to let the community know we have taken your feedback from GitHub: Optional reconnect behavior on connect Excessive thread usage Disabling the reconnect buffer Notification on cluster discovery Improve robustness Improve robustness Better documentation as well as comments in face to face meetings, and on Slack, to build a new compact library with: Read more...

Simplicity Lies at the Heart of NATS

ROBIN MORERO — July 3, 2018

From Kubecon in Copenhagen to Pagero in Gothenburg. The NATS team was delighted to get an invitation from Pagero to attend two of the Gothenburg Tech Radar MeetUps in Sweden following Kubecon + CloudNativeCon EU 2018. NATS Engineer, Waldemar Quevedo did double duty at the events. Check out Robin Morero’s blog post about Wally’s visit and why they have been watching NATS. https://blog.pagero.com/articles/tech-talk/simplicity-lies-at-the-heart-of-nats/ Read more...

KubeCon + CloudNativeCon EU 2018 Recap - Biggest KubeCon yet, we were thrilled to be there!

GINGER COLLISON — May 11, 2018

KubeCon + CloudNativeCon EU 2018 in Copenhagen, Denmark has come and gone and we are getting back to work but first, a recap! This was our first conference for NATS under the stewardship of Synadia Communications, Inc. and the Cloud Native Computing Foundation (CNCF), and for this Synadian, my first technology conference ever. With a sold out conference of over 4,300+ attendees, this event buzzed with energy and excitement each and every day. Read more...

Guest Post: Fission - Serverless Functions and Workflows with Kubernetes and NATS

SOAM VASANI — October 20, 2017

Fission is a framework for “Serverless” Functions or Functions-as-a-Service on Kubernetes. Fission allows you to take a function and easily turn it into a usable service on Kubernetes, without much of a learning curve. Fission supports a variety of source languages and triggers, which are bindings of events to functions. Fission integrates with the NATS Streaming message queue. Users can map a queue topic to a function using a Fission Message Queue Trigger. Read more...

Guest Post: NATS on Autopilot - How the team at Joyent simplify complex applications

WYATT PREUL — September 29, 2017

Here on the product team at Joyent , we enjoy making sophisticated applications easy to deploy and manage. For us, that means containerizing components, automating them with ContainerPilot and the Autopilot Pattern . This typically means that we are containerizing the components that comprise our solutions with Docker and are using a service discovery catalog like Consul. Up until this year, we didn’t have a working solution to solve the message queuing problem. Read more...

Webinar: Serverless for the Cloud Native Era: How Fission uses NATS and Kubernetes

BRIAN FLANNERY — September 29, 2017

Speaker: Soam Vasani When: Wed, Oct 25, 2017 10:00 AM - 11:00 AM San Francisco / 1:00PM - 2:00PM New York Fission is a framework for serverless functions on Kubernetes, allowing users to deploy functions instantly with one command. There are no containers to build, and no Docker registries to manage. This emphasis on simplicity also requires a simple and scalable communication layer. This technical webinar will cover how the Fission platform works, and where NATS and Kubernetes fit in. Read more...

Guest Post: Use cases for persistent logs with NATS Streaming

BYRON RUTH — September 20, 2017

What are persistent logs? In this context, a log is an ordered sequence of messages that you can append to, but cannot go back and change existing messages. The persistent bit simply means that they are remembered and potentially durable (on disk) beyond server restarts. What is NATS Streaming? NATS Streaming is a lightweight, streaming platform built on top of NATS that provides an API for persistent logs. A few of its features include: Read more...