首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
nsq专题
NSQ:分布式消息队列
目录 NSQ 基本概念NSQ 安装与运行安装运行 NSQ 使用示例生产者发布消息消费者接收消息 生产者与消费者NSQ 的管理与监控总结 NSQ 是一个高可用、分布式、实时的消息队列系统,广泛用于分布式应用之间的消息传递。NSQ 以其简单、高效、易于扩展的特性深受开发者的喜爱。本文将介绍 NSQ 的基本概念、安装配置以及如何使用。 NSQ 基本概念 在 NSQ 中,有几个重要
阅读更多...
nsq(消息队列)
nsq(消息队列) 搭建服务 启动 nsqd 指定 -broadcast-address=127.0.0.1 来配置广播地址:nsqd -broadcast-address=127.0.0.1启动 nsqd,如果是在搭配 nsqlookupd 使用的模式下,需要首先指定 nsqlookupd 地址:1.启动 nsqlookupd 命令:nsqlookupd2.启动nsqd命令:n
阅读更多...
消息队列(kafka/nsq等)与任务队列(celery/ytask等)到底有什么不同?
原文链接:https://www.ikaze.cn/article/43 写这篇博文的起因是,我在论坛宣传我开源的新项目YTask(go语言异步任务队列)时,有小伙伴在下面回了一句“为什么不用nsq?”。这使我想起,我在和同事介绍celery时同事说了一句“这不就是kafka吗?”。 那么YTask和nsq,celery和kafka?他们之间到底有什么不同呢?下面我结合自己的理解。简单
阅读更多...
NSQ消息队列---总结篇
架构 概念 nsqlookup:存储了nsqd的元数据和服务信息(endpoind),向消费者提供服务发现功能, 向nsqadmin提供数据查询功能。 nsqd: 是接收、队列和传送消息到客户端的守护进程。 nsqadmin:简单的管理界面,展示了topic, channel以及channel上的消费者,也可以创建topic,channel。 消息可靠性 (1)生产者不保证
阅读更多...
go实现NSQ消息队列的集群部署
1 安装 官方下载页面根据自己的平台下载并解压即可。 我安装的是windows版本的 2 NSQ的工作模式 每个nsqd实例旨在一次处理多个数据流。这些数据流称为“topics”,一个topic具有1个或多个“channels”。每个channel都会收到topic所有消息的副本,实际上下游的服务是通过对应的channel来消费topic消息。 topic和channel不是预先配置的。t
阅读更多...
go操作nsq框架
http://www.coder55.com/article/4123 https://www.cnblogs.com/nickchen121/p/11517436.html#%E5%85%AB%E3%80%81go%E6%93%8D%E4%BD%9Cnsq
阅读更多...
nsq源码阅读(二)nsqlookup-1
nsqlookupd 源码阅读(1) daemon的启动过程 1. Init 2. start func (p *program) Start() error {opts := nsqlookupd.NewOptions()flagSet := nsqlookupdFlagSet(opts)..............daemon := nsqlookupd.New(opts)daemon
阅读更多...
nsq源码阅读(一)目录 结构
源码的目录结构 apps目录下生成相对应的exe文件,其他目录是一些相对应的工具文件。
阅读更多...
nsq 的AddConcurrentHandlers函数注意事项
AddConcurrentHandlers 在使用这个函数的时候,可以指定n个线程来处理这个消息。 在handler函数内,如果不手动调用msg.FInsh函数,表现的结果是: 即使指定了多个协程来处理消息,若某一个hander堵塞了,其他的协程无法获取到消息。 所以在使用这个handler函数时,最好的使用方式是:进入handler函数后,就通知msg.finsh。这样handler的错
阅读更多...
nsq
做一下保存,copy过来 转载自:地址 按照[官网(http://nsq.io/overview/quick_start.html)执行的时候 nsqd --lookupd-tcp-address=127.0.0.1:4160 要指定 broadcast-address 是localhost,否则的话会是你默认的主机名,比如(admin),最后导致连接不上 nsqd --lookupd-
阅读更多...
NSQ的golang客户端简单使用
NSQ的golang客户端简单使用 NSQ 是由国外的一个短链服务商bitly使用golang开发的一个消息队列系统,正好使用到了这个东西,在这里简单的记录下。 获取客户端 nsq的golang客户端是官方版本的 go get github.com/nsqio/go-nsq 即可 简单的消费者和生产者使用 该客户端有原始的command函数用于一些基础操作,也有consumer和p
阅读更多...
NSQ源码分析(五)——Channel
Channel相关的代码主要位于nsqd/channel.go, nsqd/nsqd.go中。 Channel是消费者订阅特定Topic的一种抽象。对于发往Topic的消息,nsqd向该Topic下的所有Channel投递消息,而同一个Channel只投递一次,Channel下如果存在多个消费者,则随机选择一个消费者做投递。这种投递方式可以被用作消费者负载均衡。Channel会将消息进行排列,如
阅读更多...
NSQ源码分析(四)——inFlightPqueue和PriorityQueue优先级队列
在Channel结构体中用到了两种优先级队列pqueue.PriorityQueue和inFlightPqueue。 deferredMessages map[MessageID]*pqueue.ItemdeferredPQ pqueue.PriorityQueuedeferredMutex sync.MutexinFlightMessages map[MessageID]
阅读更多...
NSQ源码分析(三)——disQueue
disQueue是Topic以及Channel中的内存消息满了以后,消息存放的实现方法,diskQueue实现了文件系统支持的FIFO队列,disQueue也是BackendQueue接口的实现,diskQueue在文件读写给我们提供了很好的学习示例。 BackendQueue接口 // BackendQueue represents the behavior for the secondar
阅读更多...
NSQ详细教程4 证书及TLS功能测试
文章目录 生成证书测试tls-cert 和tls-key 参数测试tls-required参数tls-client-auth-policy 参数验证客户端不合法证书测试nsqadmin证书测试总结 可以为nsqd服务配置证书增加安全性,这里我们对该功能进行测试 生成证书 通过openssl 如下命令可以生成证书私钥对 [root@localhost ~]# openssl
阅读更多...
NSQ安装与运行
NSQ 下载地址 运行 # 启动nsqlookupnohup ./nsqlookupd &# 启动nsqdnohup ./nsqd --lookupd-tcp-address=127.0.0.1:4160 &# 运行 nsqadmin 管理nohup ./nsqadmin --lookupd-http-address=127.0.0.1:4161 --http-address=127.0
阅读更多...