阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

一种开源的分布式消息系统NATS

203次阅读
没有评论

共计 1761 个字符,预计需要花费 5 分钟才能阅读完成。

1、NATS 介绍

NATS 是一个开源的、轻量级的、高性能的分布式消息通信系统,实现了高可伸缩性和优雅的发布 / 订阅模型。NATS 适合云基础设施的消息通信系统、IoT 设备消息通信和微服务架构。Apcera 团队负责维护 NATS 服务器(Golang 语言开发)和客户端(包括 Python、Ruby、Node.js、Elixir、Java、Nginx、C 和 C#),开源社区也贡献了一些客户端库,包括 Rust、PHP、Lua 等语言的库。
采用了 NATS 系统的公司有:爱立信、HTC、百度、西门子、VMware。

2、NATS 系统的 Broker 的吞吐量

与 ActiveMQ、Kafka、Kestrel、NSQ、RabbitMQ、Redis 在 Broker 吞吐量方面的比较:
一种开源的分布式消息系统 NATS

3、NATS 服务器与客户端

NATS 服务器:用 Golang 语言开发,发行版包括二进制发布包和 Docker 镜像。
NATS 客户端:包含了多种语言的客户端。

官方提供的客户端

  • Go client:https://github.com/nats-io/nats
  • Node.js client:https://github.com/nats-io/node-nats
  • Ruby client:https://github.com/nats-io/ruby-nats
  • Java client:https://github.com/nats-io/jnats
  • C client:https://github.com/nats-io/cnats
  • C# client:https://github.com/nats-io/csnats
  • Nginx C client:https://github.com/nats-io/nginx-nats

还有社区提供的客户端:

  • Spring:https://github.com/cloudfoundry-community/java-nats
  • Lua:https://github.com/DawnAngel/lua-nats
  • PHP:https://github.com/repejota/phpnats
  • Python:https://github.com/mcuadros/pynats
  • Scala:https://github.com/tyagihas/scala_nats/
  • Haskell:https://github.com/ondrap/nats-queue

客户端 API 文档:

  • C client API documentation:http://nats-io.github.io/cnats/
  • C# client API documentation:http://nats-io.github.io/csnats/
  • Java client API documentation:http://nats-io.github.io/jnats

对于 Golang 客户端 API 文档,需要这样:

1)用 Git 下载源码及文档

$ git clone git@github.com:nats-io/nats.git

2)进入源码目录

cd $GOPATH/src/github.com/nats-io/nats

3)运行 Godoc 文档建立工具

$ godoc -http=:6060

4)浏览器访问 API 文档:http://localhost:6060/pkg/github.com/nats-io/nats/

4、NATS 的设计目标

NATS 的设计原则是:高性能、可伸缩能力、易于使用,基于这些原则,NATS 的设计目标包括:
1)高性能(fast)
2)一直可用(dial tone)
3)极度轻量级(small footprint)
4)最多交付一次(fire and forget,消息发送后不管)
5)支持多种消息通信模型和用例场景(flexible)
5、NATS 用例场景

NATS 理想的使用场景有:

1)寻址、发现
2)命令和控制(控制面板)
3)负载均衡
4)多路可伸缩能力
5)定位透明
6)容错

NATS 设计哲学认为,高质量的 QoS 应该在客户端构建,故只建立了请求 - 应答,不提供:

1)持久化
2)事务处理
3)增强的交付模式
4)企业级队列
6、NATS 消息通信模型

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-10/136413.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1761字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中