精华!消息队列NSQ的源码剖析

本文详细介绍了NSQ,一个分布式消息队列的内部工作原理。从NSQ的系统架构、主要组件如nsqd、nsqlookupd和NSQ Admin的功能,到消息的接收、传递和优化策略,揭示了NSQ如何确保高可靠性和性能。此外,还探讨了NSQLOOKUP的职责以及NSQAdmin的亮点。
摘要由CSDN通过智能技术生成

在这里插入图片描述

什么是NSQ

NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day    

与kafka、MQ为同一类消息中间件,基于Go语音实现并且由于轻量化,备受好评
它基于MIT开源协议发布,由bitly公司开源出来的一款简单易用的消息中间件

术语介绍

Topic :一个topic就是程序发布消息的一个逻辑键,当程序第一次发布消息时就会创建topic
Channels :channel与消费者相关,是消费者之间的负载均衡,channel在某种意义上来说是一个“队列”

nsqd:nsqd 是一个守护进程,负责接收,排队,投递消息给客户端
nsqlookupd:nsqlookupd 是守护进程负责管理拓扑信息
nsqadmin:nsqadmin 是一套 WEB UI,用来汇集集群的实时统计,并执行不同的管理任务
nsq_to _file:消费指定的话题(topic)/通道(channel),并写到文件中,有选择的滚动和/或压缩文件
nsq_to _http:消费指定的话题(topic)/通道(channel)和执行 HTTP requests (GET/POST) 到指定的端点
nsq_to _nsq:消费者指定的话题/通道和重发布消息到目的地 nsqd 通过 TCP

NSQ的应用场景

流程异步化、代码解耦合、流量削峰、高可用、高吞吐量、广播分发,达到数据的最终一致性,满足具体的业务场景需求

从该项目中你能获得什么?

Golang的入门    

主题

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值