美文网首页
Mac本地安装和调试NSQ流程

Mac本地安装和调试NSQ流程

作者: 薛延祥 | 来源:发表于2020-04-30 11:56 被阅读0次

    1、brew安装nsq

    brew  install nsq

    2、在命令行窗口1启动 nsqlookupd 服务

    nsqlookupd

    可以看到,nsqlookupd启动之后,监听TCP 4160端口,用于管理nsqd服务;监听HTTP 4161端口,用于给nsqadmin提供服务。

    3、在命令行窗口2启动nsqd服务

    nsqd --lookupd-tcp-address=127.0.0.1:4160 --broadcast-address=127.0.0.1

    特别注意:后面的 --broadcast-address=127.0.0.1 一定要加上,表明广播地址,否则客户端连接时,无法连接获取主题中的消息,报错如下

    error connecting to nsqd - dial tcp: i/o timeout

    (1)再新建一个CMD窗口2,需指定要连接的nsqlookupd的地址和端口,这里我们就连接上一步已经启动的nsqlookupd,地址即127.0.0.1:4160

    nsqd连接成功nsqlookupd后,会初始化topic、channal的元数据,获取nsqlookupd信息。

    (2)与此同时,nsqlookupd的窗口1输出:

    表明新建一个客户端连接:new client(127.0.0.1:52051)

    (3)之后nsqd每隔15s向nsqlookupd发送一个心跳包,表明nsqd处于在线状态,而nsqlookupd回复pinged。

    nsqd的窗口2发送心跳包

    nsqlookupd的窗口1接收到心跳包并反馈

    4、生产消息:往nsqd发布一条初始化消息

    新建一个CMD窗口3发布消息方法pub,消息主题为test,消息内容为"hello world"

    curl -d 'hello world' 'http://127.0.0.1:4151/pub?topic=test'

    此时nsqd窗口2输出表明新注册一个主题test:

    而nsqlookupd窗口1输出:

    此时并没有任何通道channels来连接该主题topic,只是生产了消息,存在topic本身内部。

    注意:nsqd对于http请求监控的就是4151端口,因此生产消息往4151端口发送消息

    5、新建channal来消费消息

    在/tmp文件夹下新建一个nsq_log的文件夹,绝对路径为:/tmp/nsq_log

    (1)新建一个CMD窗口4:

    nsq_to_file --topic=test --output-dir=/tmp/nsq_log --lookupd-http-address=127.0.0.1:4161

    上图表明我们用到nsq_to_file来消费topic为test的消息内容,并将其输出到指定路径(--output-dir=/tmp/nsq_log),监控的地址为本地127.0.0.1:4161

    注意:

    如果nsqd启动时nsqd --lookupd-tcp-address=127.0.0.1:4160 --broadcast-address=127.0.0.1,后面不加广播地址为本地,那么这里就会报错

    无法连接到nsqd

    6、在新的窗口查看消费数据

    (1)之后每小时会自动生成一个文件

    test.QKBJ100574deMacBook-Pro.2020-04-30_10.log

    表明是2020-04-30号10点生成的日志文件

    然后,所有往topic为test的主题中发送消息时,这里就会同步获取到该消息

    7、可视化界面管理

    (1)启动nsqadmin,新建一个CMD窗口5:

     nsqadmin --lookupd-http-address=127.0.0.1:4161

    此时,该客户端连接的是127.0.0.1:4161端口的数据,监听127.0.0.1:4171端口并展示数据,那么我们就可以在浏览器查看127.0.0.1:4171端口即可

    (2)浏览器查看 http://127.0.0.1:4171/

    此时能看到我们刚刚创建的topic:test

    创建一个新的topic:xueyanxiang
    curl -d 'hello sucess' 'http://127.0.0.1:4151/pub?topic=xueyanxiang'

    相关文章

      网友评论

          本文标题:Mac本地安装和调试NSQ流程

          本文链接:https://www.haomeiwen.com/subject/aiqzwhtx.html