mirror of
https://github.com/taigrr/nats.docs
synced 2025-01-18 04:03:23 -08:00
59 lines
2.5 KiB
Markdown
59 lines
2.5 KiB
Markdown
|
|
<a href="https://nats.io"><img src="nats-horizontal-color.png" width="350" height="90" title="NATS Logo">
|
|
</a>
|
|
# Introduction
|
|
|
|
## The Importance of Messaging
|
|
|
|
Developing and deploying applications that communicate in distributed systems
|
|
can be complex and difficult. A communication infrastructure should provide
|
|
features to make this easier, including multiple messaging patterns bundled
|
|
into one technology, location transparency, the decoupling of data producers
|
|
and consumers, and asynchronous communications to build event driven
|
|
applications. This can drive services/micro-services based workloads and take
|
|
the place of things like a service mesh, and also drive observability, all
|
|
from the same technology.
|
|
|
|
### Distributed Computing Needs of Today
|
|
|
|
A modern messaging system needs to support multiple communication patterns, be
|
|
secure by default, support multiple qualities of service, and provide secure
|
|
multi-tenancy for a truly shared infrastructure. A modern system needs to include:
|
|
|
|
* Secure by default communications for microservices, edge platforms and devices
|
|
* Secure multi-tenancy in a single distributed communication technology
|
|
* Decoupled from IP for addressing and security
|
|
* Resiliency with an emphasis on the health of the system as a whole
|
|
* Ease of use for agile development, CI/CD, and operations, at scale
|
|
* Highly scalable with built-in load balancing and no config auto-scaling
|
|
* Consistent identity and security mechanisms from edge devices to backend services
|
|
|
|
## NATS
|
|
|
|
NATS was built to meet the distributed computing needs of today and tomorrow.
|
|
NATS is simple and secure messaging made for developers and operators who want
|
|
to spend more time developing modern applications and services than worrying
|
|
about a distributed communication system.
|
|
|
|
* Easy to use for developers and operators
|
|
* High-Performance
|
|
* Always on and available
|
|
* Extremely lightweight
|
|
* At Most Once (NATS) or At Least Once Delivery (NATS Streaming)
|
|
* Common Messaging Pattern Support (Scalable Services, Event/Data Streams)
|
|
* Client support for over 30 different programming languages
|
|
* Cloud Native, a CNCF project with Kubernetes and Prometheus integrations
|
|
|
|
### Use Cases
|
|
|
|
NATS can run anywhere, from large servers and cloud instances, through edge
|
|
gateways and even IoT devices. Use cases for NATS include:
|
|
|
|
* Cloud Messaging
|
|
* Services (microservices, service mesh)
|
|
* Event/Data Streaming (observability, analytics, ML/AI)
|
|
* Command and Control
|
|
* IoT and Edge
|
|
* Telemetry / Sensor Data / Command and Control
|
|
* Augmenting or Replacing Legacy Messaging Systems
|