nsqd
是一个守护进程,负责接收,排队,投递消息给客户端。
它可以独立运行,不过通常它是由 nsqlookupd
实例所在集群配置的(它在这能声明 topics 和 channels,以便大家能找到)。
它在 2 个 TCP 端口监听,一个给客户端,另一个是 HTTP API。同时,它也能在第三个端口监听 HTTPS。
-auth-http-address=: <addr>:<port> 查询授权服务器 (可能会给多次) -broadcast-address="": 通过 lookupd 注册的地址(默认名是 OS) -config="": 配置文件路径 -data-path="": 缓存消息的磁盘路径 -deflate=true: 运行协商压缩特性(客户端压缩) -e2e-processing-latency-percentile=: 消息处理时间的百分比(通过逗号可以多次指定,默认为 none) -e2e-processing-latency-window-time=10m0s: 计算这段时间里,点对点时间延迟(例如,60s 仅计算过去 60 秒) -http-address="0.0.0.0:4151": 为 HTTP 客户端监听 <addr>:<port> -https-address="": 为 HTTPS 客户端 监听 <addr>:<port> -lookupd-tcp-address=: 解析 TCP 地址名字 (可能会给多次) -max-body-size=5123840: 单个命令体的最大尺寸 -max-bytes-per-file=104857600: 每个磁盘队列文件的字节数 -max-deflate-level=6: 最大的压缩比率等级(> values == > nsqd CPU usage) -max-heartbeat-interval=1m0s: 在客户端心跳间,最大的客户端配置时间间隔 -max-message-size=1024768: (弃用 --max-msg-size) 单个消息体的最大字节数 -max-msg-size=1024768: 单个消息体的最大字节数 -max-msg-timeout=15m0s: 消息超时的最大时间间隔 -max-output-buffer-size=65536: 最大客户端输出缓存可配置大小(字节) -max-output-buffer-timeout=1s: 在 flushing 到客户端前,最长的配置时间间隔。 -max-rdy-count=2500: 客户端最大的 RDY 数量 -max-req-timeout=1h0m0s: 消息重新排队的超时时间 -mem-queue-size=10000: 内存里的消息数(per topic/channel) -msg-timeout="60s": 自动重新队列消息前需要等待的时间 -snappy=true: 打开快速选项 (客户端压缩) -statsd-address="": 统计进程的 UDP <addr>:<port> -statsd-interval="60s": 从推送到统计的时间间隔 -statsd-mem-stats=true: 切换发送内存和 GC 统计数据 -statsd-prefix="nsq.%s": 发送给统计keys 的前缀(%s for host replacement) -sync-every=2500: 磁盘队列 fsync 的消息数 -sync-timeout=2s: 每个磁盘队列 fsync 平均耗时 -tcp-address="0.0.0.0:4150": TCP 客户端 监听的 <addr>:<port> -tls-cert="": 证书文件路径 -tls-client-auth-policy="": 客户端证书授权策略 ('require' or 'require-verify') -tls-key="": 私钥路径文件 -tls-required=false: 客户端连接需求 TLS -tls-root-ca-file="": 私钥证书授权 PEM 路径 -verbose=false: 打开日志 -version=false: 打印版本 -worker-id=0: 进程的唯一码(默认是主机名的哈希值)
/ping
- 活跃度
/info
- 版本
/stats
- 检查综合运行
/pub
- 发布消息到话题(topic)
/mpub
- 发布多个消息到话题(topic)
/debug/pprof
- pprof 调试入口
/debug/pprof/profile
- 生成 pprof CPU 配置文件
/debug/pprof/goroutine
- 生成 pprof 计算配置文件
/debug/pprof/heap
- 生成 pprof 堆配置文件
/debug/pprof/block
- 生成 pprof 块配置文件
/debug/pprof/threadcreate
- 生成 pprof OS 线程配置文件
v1
命名空间 (as of nsqd
v0.2.29+
):
/topic/create
- 创建一个新的话题(topic)
/topic/delete
- 删除一个话题(topic)
/topic/empty
- 清空话题(topic)
/topic/pause
- 暂停话题(topic)的消息流
/topic/unpause
- 恢复话题(topic)的消息流
/channel/create
- 创建一个新的通道(channel)
/channel/delete
- 删除一个通道(channel)
/channel/empty
- 清空一个通道(channel)
/channel/pause
- 暂停通道(channel)的消息流
/channel/unpause
- 恢复通道(channel)的消息流
以抛弃的命名空间:
/create_topic
- 创建一个新的话题(topic)
/delete_topic
- 删除一个话题(topic)
/empty_topic
- 清空话题(topic)
/pause_topic
- 暂停话题(topic)的消息流
/unpause_topic
- 恢复话题(topic)的消息流
/create_channel
- 创建一个新的通道(channel)
/delete_channel
- 删除一个通道(channel)
/empty_channel
- 清空一个通道(channel)
/pause_channel
- 暂停通道(channel)的消息流
/unpause_channel
- 恢复通道(channel)的消息流