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: Synchronize web apps in real time with NATS+Resgate

SAMUEL JIRÉNIUS — September 7, 2018

REST APIs are nice. Simple. Stateless. Scalable. But to keep client data updated in real time, things get more complicated. Streaming events is easy, but you start having to deal with questions like: Which resources do I need events for? How do I manage sending each client only the events they need? Can I prevent subscription to some events for unauthorized clients? Who keeps state of these event subscriptions? How do I handle lost connections? Read more...

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...