NATS 中文文档
  • 引言
  • 发布日志
  • NATS 2.0
  • 对比 NATS
  • FAQ
  • NATS Concepts
    • What is NATS
    • Subject-Based Messaging
    • Publish-Subscribe
    • Request-Reply
    • Queue Groups
    • Acknowledgements
    • Sequence Numbers
  • Developing With NATS
    • Introduction
    • Connecting
      • Connecting to the Default Server
      • Connecting to a Specific Server
      • Connecting to a Cluster
      • Connection Name
      • Setting a Connect Timeout
      • Ping/Pong Protocol
      • Turning Off Echo'd Messages
      • Miscellaneous functionalities
    • Automatic Reconnections
      • Disabling Reconnect
      • Set the Number of Reconnect Attempts
      • Avoiding the Thundering Herd
      • Pausing Between Reconnect Attempts
      • Listening for Reconnect Events
      • Buffering Messages During Reconnect Attempts
    • Securing Connections
      • Authenticating with a User and Password
      • Authenticating with a Token
      • Authenticating with an NKey
      • Authenticating with a Credentials File
      • Encrypting Connections with TLS
    • Receiving Messages
      • Synchronous Subscriptions
      • Asynchronous Subscriptions
      • Unsubscribing
      • Unsubscribing After N Messages
      • Replying to a Message
      • Wildcard Subscriptions
      • Queue Subscriptions
      • Draining Messages Before Disconnect
      • Structured Data
    • Sending Messages
      • Including a Reply Subject
      • Request-Reply Semantics
      • Caches, Flush and Ping
      • Sending Structured Data
    • Monitoring the Connection
      • Listen for Connection Events
      • Slow Consumers
    • Tutorials
      • Explore NATS Pub/Sub
      • Explore NATS Request/Reply
      • Explore NATS Queueing
      • Advanced Connect and Custom Dialer in Go
  • NATS Server
    • Installing
    • Running
      • Windows Service
    • Clients
    • Flags
    • Configuration
      • Securing NATS
        • Enabling TLS
        • Authentication
          • Tokens
          • Username/Password
          • TLS Authentication
          • NKeys
          • Authentication Timeout
        • Authorization
        • Multi Tenancy using Accounts
        • Decentralized JWT Authentication/Authorization
          • Account lookup using Resolver
          • Memory Resolver Tutorial
          • Mixed Authentication/Authorization Setup
      • Clustering
        • Configuration
        • TLS Authentication
      • Super-cluster with Gateways
        • Configuration
      • Leaf Nodes
        • Configuration
      • Logging
      • Monitoring
      • System Events
        • System Events & Decentralized JWT Tutorial
    • Managing A NATS Server
      • Upgrading a Cluster
      • Slow Consumers
      • Signals
    • NATS and Docker
      • Tutorial
      • Docker Swarm
      • Python and NGS Running in Docker
  • NATS Tools
    • Introduction
    • mkpasswd
    • nk
    • nsc
      • Basics
      • Streams
      • Services
      • Signing Keys
      • Revocation
      • Managed Operators
    • nats-account-server
      • Basics
      • Inspecting JWTs
      • Directory Store
      • Update Notifications
    • nats-top
      • Tutorial
    • nats-bench
  • NATS Streaming Concepts
    • Introduction
    • Relation to NATS
    • Client Connections
    • Channels
      • Message Log
      • Subscriptions
        • Regular
        • Durable
        • Queue Group
        • Redelivery
    • Store Interface
    • Store Encryption
    • Clustering
      • Supported Stores
      • Configuration
      • Auto Configuration
      • Containers
    • Fault Tolerance
      • Active Server
      • Standby Servers
      • Shared State
      • Failover
    • Partitioning
    • Monitoring
      • Endpoints
  • Developing With NATS Streaming
    • Introduction
    • Connecting to NATS Streaming
    • Publishing to a Channel
    • Receiving Messages from a Channel
    • Durable Subscriptions
    • Queue Subscriptions
    • Acknowledgements
    • The Streaming Protocol
  • NATS Streaming Server
    • Important Changes
    • Installing
    • Running
    • Configuring
      • Command Line Arguments
      • Configuration File
      • Store Limits
      • 持久化
        • 文件存储
        • SQL 存储
      • Securing
    • Process Signaling
    • Windows Service
    • Embedding NATS Streaming Server
    • Docker Swarm
  • NATS Protocol
    • Protocol Demo
    • Client Protocol
      • Developing a Client
    • NATS Cluster Protocol
  • 在 Kubernetes中使用NATS
    • 序言
    • 安装 NATS 和 NATS Streaming
    • 创建一个 Kubernetes 集群
    • 容错(Fault Tolerance)模式下的NATS Streaming 集群
    • NATS 和 Prometheus Operator
    • NATS 集群和证书管理
    • 使用 cfssl 来提高 NATS 集群的安全性
    • 使用负载均衡器(Load Balancer) 为NATS提供外部访问
    • 使用Helm在Digital Ocean 创建一个NATS 超级集群
    • 使用Helm从0到 K8s到 子节点
由 GitBook 提供支持
在本页
  • 消息系统的重要性
  • 当今的分布式计算的要求
  • NATS
  • 使用场景

这有帮助吗?

引言

NATS 中文文档由 @YouEclipse 业余时间维护,如有疑问或相关问题可以联系 you@golang.im

消息系统的重要性

开发和部署分布式系统中的应用的通信系统会是一个比较大的挑战,目前的分布式系统有两种基本的通信模式,基于request/reply模式和基于RPC的事件流。随着技术的发展,一个现代的消息系统应该让这些变得简单,并且可伸缩,安全,能够跨地域和可观测的。

当今的分布式计算的要求

一个现代的消息系统应该能够支持多种通信模型,并且默认是安全的、支持多种QoS,并且提供多租户的真正共享的基础设施。一个现代的消息系统应该是:

  • 对于微服务,边缘平台和设备默认是安全的

  • 支持单一分布式通信技术中安全的多租户

  • 透明的位置寻址和服务发现

  • 着重于系统整体运行情况的韧性(Resiliency)

  • 对于敏捷开发和大规模CI/CD和运维是简单的

  • 内置负载均衡和动态自动扩展功能,高扩展性和高性能

  • 从边缘设备到后端服务的一致身份和安全机制

NATS

NATS旨在满足当今和未来的分布式计算需求。NATS 是一个为那些希望能够更多的聚焦于现代应用和服务而不必过多关心分布式通信系统的细节的开发和运维,而设计的足够简单但是安全的消息系统。

  • 易于开发和运维使用

  • 高性能

  • 高可用

  • 极度轻量

  • 至多一次和至少一次投递

  • 提供可观察性,弹性伸缩的服务和事件/数据流

  • 超过30种的编程语言的支持的客户端

  • 云原生,基于K8s并集成Prometheus的 CNCF 项目

使用场景

NATS可以运行在任何地方,从大型服务器到云服务器,到边缘网关甚至物联网设备,使用场景包含:

  • 云消息系统

    • 服务(微服务, 服务网格)

    • 事件/数据流 (可观察性, 数据分析, 机器学习/人工智能)

  • 命令与控制

    • 物联网和边缘计算

    • 遥测 / 传感器数据 / 命令和控制

  • 增强或者替换现有消息系统

下一页发布日志

最后更新于4年前

这有帮助吗?