NATS Messaging System
NATS is an open source, lightweight and high-performance messaging system.
It is ideal for distributed systems and supports modern cloud architectures and pub-sub, request-reply and queuing models.
* Admin Package included: OpenVPN, SSH, SFTP, OS root access
NATS is a family of open source products that are tightly integrated but can be deployed independently.
NATS is being deployed globally by thousands of companies, spanning innovative use-cases including: Mobile apps, Microservices and Cloud Native, and IoT.
NATS is also available as a hosted solution.
The core NATS Server acts as a central nervous system for building distributed applications.
There are dozens of clients ranging from Java, .NET, to GO.
NATS Streaming extends the platform to provide for real-time streaming & big data use-cases.
NATS was created by Derek Collison, Founder and CEO at Synadia in response to the market need for a simple and high performance messaging solution.
NATS is currently deployed in some of the largest cloud platforms, including: VMware, CloudFoundry, Baidu, Siemens, and GE.
NATS is available under the Apache-2.0 Open Source License.
NATS features
NATS provides the following unique features:
- Pure pub-sub
- Never assumes the audience
- Always “on” dial tone
- Clustered mode server
- NATS servers can be clustered together
- Distributed queueing across clusters
- Cluster-aware clients
- Auto-pruning of subscribers
- To support scaling, NATS provides for auto-pruning of client connections
- If a client app is slow consuming messages, NATS will cut off the client
- If a client is not responsive within the ping-pong interval, the server cuts it off
- Clients implement retry logic
- Text-based protocol
- Makes it easy to get started with new clients
- Does not affect server performance
- Can Telnet directly to the server and send messages across the wire
- Multiple qualities of service (QoS)
- At-most-once delivery (TCP level reliability) - NATS delivers messages to immediately eligible subscribers but does not persist the messages
- At-least-once delivery (via NATS Streaming) - Messages persisted until delivery to subscribers has been confirmed, or timeout expires, or storage exhausted
- Durable subscriptions (via NATS Streaming)
- Subscription delivery state is maintained so that durable subscriptions may pick up where they left off during a previous session
- Event streaming service (via NATS Streaming)
- Messages may be persisted to memory, file, or other secondary storage for later replay by time, sequence number, or relative offset
- Last/Initial value caching (via NATS Streaming)
- Subscription delivery can begin with the most recently published message for a subscription
Your Virtual Machine Specs
Your NATS Server will be running on an isolated and secure Virtual Machine with the following configuration 1 :
- CPU: 1 vCPU on 7th Generation Intel® Core™ i5-7260U Physical Processor(s)
- Base Frequency: 2.20 GHz
- Max Turbo Frequency: 3.40 GHz
- Memory: 1024 MB on 32 GB DDR4-2133 Physical Memory Chip(s)
- DDR4-2133 1.2V SO-DIMM
- Max Memory Bandwidth: 34.1 GB/s
- Disk Size: 16.06 GB on 1TB M.2. SSD Physical Storage Chip(s)
- M.2 Solid-State Drive (SSD)
- Sequential Read: 530 MB/s
- Sequential Write: 510 MB/s
- Random Read IOPS: 92 K
- Random Write IOPS: 83 K
Note 1 : Virtual Machine Resources are already optimized for performance. Under extreme usage or circumstances, more resources can be easily acquired via our Add-ons section.