Nsq简介

  1. NSQ是一个基于Go语言的分布式实时消息平台, 它具有分布式、去中心化的拓扑结构,支持无限水平扩展。无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征。另外,NSQ非常容易配置和部署, 且支持众多的消息协议。支持多种客户端,协议简单,如果有兴趣可参照协议自已实现一个也可以,NSQ 是无中心设计、节点自动注册和发现的开源消息系统。可作为内部通讯框架的基础,易于配置和发布。
  2. 组件
    1. nsqd:一个负责接收、排队、转发消息到客户端的守护进程(服务端)
    2. nsqlookupd:管理拓扑信息, 用于收集nsqd上报的topic和channel,并提供最终一致性的发现服务的守护进程(客户端)
    3. nsqadmin:一套Web用户界面,可实时查看集群的统计数据和执行相应的管理任务
  3. 相关介绍
    1. 单个nsqd实例旨在一次处理多个数据流。流称为“主题”,一个主题具有1个或多个“频道”。每个频道都会收到一个主题的所有消息的副本。实际上,频道映射到消耗主题的下游服务
    2. NSQ被设计为以分布式方式使用。nsqd客户端(通过TCP)连接到 提供指定主题的所有实例。没有中间人,没有消息代理,也没有SPOF
    3. 主题和频道没有事先配置。通过发布到指定主题或订阅指定主题上的频道,可以在首次使用时创建主题。通过订阅指定的频道,在首次使用时创建频道。
    4. NSQ保证消息至少要传递一次,尽管可能会重复消息。消费者应该对此有所期待,并进行重复数据删除或执行幂等操作。
  4. 特征
    1. 支持无SPOF的分布式拓扑
    2. 水平可扩展(没有代理,可以无缝地将更多节点添加到集群中)
    3. 基于低延迟推送的消息传递(性能
    4. 负载均衡和组播样式消息路由的组合
    5. 在流(高吞吐量)和面向工作(低吞吐量)的工作负载方面均表现出色
    6. 主要在内存中(超出高水位标记的消息透明地保存在磁盘上)
    7. 消费者用于查找生产者的运行时发现服务(nsqlookupd
    8. 传输层安全性(TLS)
    9. 不可知的数据格式
    10. 很少的依赖项(易于部署)和合理,有界的默认配置
    11. 支持任何语言的客户端库的简单TCP协议
    12. 用于统计信息,管理操作和生产者的HTTP接口(无需发布客户端库)
    13. statsd集成以进行实时检测
    14. 强大的集群管理界面(nsqadmin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值