NATS.io is a simple, secure and high performance open source messaging system for cloud native applications, IoT messaging, and microservices architectures.
nats server and nats-streaming-server
NATS is available in two interoperable modules, the core NATS platform - the NATS server (executable name is gnatsd) referred to simply as NATS and NATS Streaming (executable name is nats-streaming-server)
- Basic NATS Server is designed for high performance and simplicity.
- NATS Server doesn’t provide a persistent store for the messages that you publish over the NATS.
- NATS Streaming comes with a persistent store for having a log for the messages that publish over the NATS server
- NATS Streaming is not a separate server.
- NATS Streaming embeds a NATS server as the messaging server, and provides an extra capability of having a persist logs to be used for event streaming systems.
- nats-operator manages NATS clusters atop Kubernetes
- nats-operator automates the creation and administration of Nats cluster
- nats-operator provides a NatsCluster Custom Resources Definition (CRD) that models a NATS cluster
This CRD allows for specifying the desired size and version for a NATS cluster, as well as several other advanced options
- nats-streaming-operator makes available a NatsStreamingCluster Custom Resources Definition that creates a NATS Streaming Cluster on top of a K8S Cluster.
- nats-streaming-operator can also be used to manage instances backed by a SQL store. In this mode, only a single replica will be created
To use DB store support it is needed to include the DB credentials within the NATS Streaming configuration and mount it as a volume.
Setup Instructions and deployment files are available in this Github Repository
- devops (12) ,
- sysops (8) ,
- aws (5) ,
- EKS (5) ,
- kubernetes (5) ,
- containerization (4) ,
- dijeeshpnair (11) ,
- nats-io (1) ,
- nats-streaming (1) ,
- nats-operator (1) ,
- nats-streaming-operator (1)