分布式消息队列 NSQ 和 Kafka 对比

本文探讨了分布式消息队列NSQ和Kafka的作用、组件、特性及两者之间的对比。NSQ强调简单和高性能,消息默认存储在内存中,而Kafka则注重消息的持久化和顺序性,支持更高级别的投递保证。NSQ使用推模型,Kafka采用拉模型,各自有其优缺点。Kafka的Partition机制保证了消息的顺序性,而NSQ在这方面相对较弱。
摘要由CSDN通过智能技术生成

谈谈分布式消息队列的一些特性,比较两种比较常用的消息队列——NSQ和Kafka

1 消息队列的作用

  1. 解耦,将一个流程加入一层数据接口拆分成两个部分,上游专注通知,下游专注处理
  2. 缓冲,应对流量的突然上涨变更,消息队列有很好的缓冲削峰作用
  3. 异步,上游发送消息以后可以马上返回,处理工作交给下游进行
  4. 广播,让一个消息被多个下游进行处理
  5. 冗余,保存处理的消息,防止消息处理失败导致的数据丢失

2 NSQ

2.1 组件

NSQ主要包含3个组件:

  • nsqd:在服务端运行的守护进程,负责接收,排队,投递消息给客户端。能够独立运行,不过通常是由 nsqlookupd 实例所在集群配置的
  • nsqlookup:为守护进程,负责管理拓扑信息并提供发现服务。客户端通过查询 nsqlookupd 来发现指定话题(topic)的生产者,并且 nsqd 节点广播话题(topic)和通道࿰
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值