您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页NATS简介

NATS简介

来源:保捱科技网

nats是一个开源的,云原生的消息系统。Apcera,百度,西门子,VMware,HTC和爱立信等公司都有在使用。

核心基于EventMachine开发,原理是基于消息发布订阅机制,每台服务器上的每个模块会根据自己的消息类别向MessageBus发布多个消息主题,而同时也向自己需要交互的模块,按照需要的主题订阅消息。能够达到每秒8-11百万个消息,整个程序很小只有3M Docker image,它不支持持久化消息,如果你离线,你就不能获得消息。使用nats streaming可以做到持久化,缓存等功能。

NATS server

nats提供了一个go编写的轻量级服务器。发行版包括二进制和docker镜像

NATS clients

nats官方提供的客户端有Go,Node,Ruby,Java,C,C#,NGINX等。

NATS 设计目标

核心原则是性能,可伸缩和易用性。

  • 高效
  • 始终在线和可用
  • 非常轻巧
  • 支持多种质量的服务
  • 支持各种消息传递模型和使用场景

NATS 使用场景

nats是一个简单且强大的消息系统,为支持现代云原生架构设计。由于可伸缩性的复杂性,nats旨在容易使用和实现,且能提供多种质量的服务。

一些适用nats的场景有:

  • 高吞吐量的消息分散 —— 少数的生产者需要将数据发送给很多的消费者。
  • 寻址和发现 —— 将数据发送给特定的应用实例,设备或者用户,也可用于发现并连接到基础架构中的实例,设备或用户。
  • 命令和控制(控制面板)—— 向程序或设备发送指令,并从程序/设备中接收状态,如SCADA,卫星遥感,物联网等。
  • 负载均衡 —— 主要应用于程序会生成大量的请求,且可动态伸缩程序实例。
  • N路可扩展性 —— 通信基础架构能够充分利用go的高效并发/调度机制,以增强水平和垂直的扩展性。
  • 位置透明 —— 程序在各个地理位置上分布者大量实例,且你无法了解到程序之间的端点配置详情,及他们所生产或消费的数据。
  • 容错

使用nats-streaming的附加场景有:

  • 从特定时间或顺序消费
  • 持久性
  • 有保证的消息投递

NATS消息传递模型

  • 发布订阅
  • 请求回复
  • 排队

NATS的特点

nats的独特功能有:

  • 纯净的pub-sub
  • 集群模式的server
  • 订阅者的自动裁剪
  • 基于文本的协议
  • 多种服务质量
    • 最多一次投递
    • 至少一次投递
  • 持久
  • 缓存

转载于:https://juejin.im/post/5b5ead4ee51d4517c5b9e4

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务