1
0
mirror of https://github.com/taigrr/nats.docs synced 2025-01-18 04:03:23 -08:00
nats.docs/README.md
Derek Collison 99da6d13d0 Updates
Signed-off-by: Derek Collison <derek@nats.io>
2019-06-06 15:42:25 -07:00

53 lines
2.3 KiB
Markdown

<a href="https://nats.io"><img src="nats-horizontal-color.png" width="350" height="90" title="NATS Logo">
</a>
# The Importance of Messaging
Developing and deploying applications and services that communicate in distributed systems
can be complex and difficult. However there are two basic patterns, request/reply or RPC for services,
and event and data streams. A modern technology should provide
features to make this easier, scalable, secure, location independent and observable.
## 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
* Transparent location addressing and discovery
* Resiliency with an emphasis on the overall health of the system
* Ease of use for agile development, CI/CD, and operations, at scale
* Highly scalable and performant with built-in load balancing and dynamic 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 and At Least Once Delivery
* Support for Observable and Scalable Services and 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