nsq 消息队列的使用: https://nsq.io/overview/quick...
下载 nsq https://nsq.io/deployment/ins...

  1. nsqlookupd
  2. nsqd --lookupd-tcp-address=127.0.0.1:4160
  3. nsqadmin --lookupd-http-address=127.0.0.1:4161
  4. 发送消息到消息队列中
    curl -d "hello world" "http://127.0.0.1:4151/pub?topic=test"
  5. 消息存储到磁盘
    nsq_to_file --topic=test --output-dir=/tmp --lookupd-http-address=127.0.0.1:4161
  6. 再次发送消息到队列中
    curl -d "hello world 2" "http://127.0.0.1:4151/pub?topic=test"
    7.访问nsq 管理员界面
    http://127.0.0.1:4171/

nsqlookupd:管理拓扑信息。
启动以后,它默认会同时监听两个端口,在4160端口,建立一个tcp server,用于和nsqd进行数据沟通。
在4161上呢,会建立一个http server,用于和nsqadmin进行数据交互。

nsqd:
启动一个nsqd 服务,同时告诉这个服务,nsqlookupd的地址在127.0.0.1:4160
4160端口,也就是nsqlookupd监听的tcp erver的地址。有了这个地址后,nsqd就可以和nsqlookupd地建立连接,然后做数据交互。
同时呢,nsqd自己会默认监听4151端口,接收以http方式发送来的消息数据。

nsqadmin:
启动nsqadmin,同时告诉这个服务,nsqlookupd监听的http地址在127.0.0.1:4161,这样,nsqadmin也会和nsqlookupd建立连接,进行数据交互。
而nsqadmin 本身会监听4171端口,提供一个web服务,供浏览器访问,查看数据。
所以在上一讲,最后我们通过访问http://127.0.0.1:4171/查看统计数据。

nsq_to_file
这是nsq提供一个简单的消息“消费者”,他把某个指定“topic”下的数据存在指定的文件中。
nsq_to_file –topic=test –output-dir=F:\tmp –lookupd-http-address=127.0.0.1:4161
lookupd-http-address的4161端口是nsqlookupd的地址.

端口相关
①外网访问必须开放4150(TCP Producer),4151(HTTP Producer),4160,4161,4171(管理页面)四个端口

②nsqlookupd 监听两个端口:
4160 TCP 用于接收nsqd的广播,记录nsqd的地址以及监听TCP/HTTP端口等。
4161 HTTP 用于接收客户端发送的管理和发现操作请求(增删话题,节点等管理查看性操作等)。当Consumer进行连接时,返回对应存在Topic的nsqd列表。

③nsqd监听两个端口:
4151 HTTP Producer使用HTTP协议的curl等工具生产数据;Consumer使用HTTP协议的curl等工具消费数据;
4150 TCP Producer使用TCP协议的nsq-j等工具生产数据;Consumer使用TCP协议的nsq-j等工具消费数据;

④nsqadmin监听一个端口
4171 HTTP 用于管理页面
使用地址http://xxx.xxx.xxx.xxx:4171打开管理页面.

image.png


goper
413 声望25 粉丝

go 后端开发


引用和评论

0 条评论