当前位置: 首页 > 工具软件 > php-nsq > 使用案例 >

NSQ服务器及PHP客户端搭建

韩鸿波
2023-12-01

NSQ服务器及PHP客户端搭建

在对比了市面上多款消息队列之后,基于我们研发团队的现状,我决定选用nsq作为我们的消息队列。其最吸引我的特性倒并非是高并发,水平扩展;而是支持HTTP请求,使用简单。然而NSQ的文档不够详尽,社区不够活跃的问题真让我耗费了很长时间才搞定。

GOLANG安装:

NSQ基于GO语言,先安装Go,问题不大,注意与NSQ要求的版本相适应,我选用的go1.9

下载标准安装包
    https://golang.org/dl/

解压到/usr/local目录

$ sudo tar -xzvf go1.5.2.linux-amd64.tar.gz /usr/local

在$HOME目录下创建文件夹gopath

$ vi /etc/profile 

在 /etc/profile 添加如下内容

export GOPATH=$HOME/gopath
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

然后我们刷新环境变量

$ source /etc/profile

最后我们验证一下是否安装成功

$ go version

NSQ安装:

直接下载官网安装包

$ wget https://s3.amazonaws.com/bitly-downloads/nsq/nsq-1.0.0-compat.linux-amd64.go1.8.tar.gz
$ sudo tar -xzvf nsq-1.0.0-compat.linux-amd64.go1.8.tar.gz
$ sudo mv nsq-1.0.0-compat.linux-amd64.go1.8 /usr/local/nsq
$ cd /usr/local/nsq

NSQ启动:

NSQ需要主要启动三个模块nsqd nsqlokkupd nsqadmin

$ nohup ./nsqlookupd &
$ nohup ./nsqd --lookupd-tcp-address=127.0.0.1:4160 --broadcast-address=139.196.205.* &

这一步就是官方文档坑爹的地方,不加上–broadcast-address=139.196.205.* 客户端是无法连接的 后面的IP是你的实际的服务器IP

$ nohup ./nsqadmin --lookupd-http-address=127.0.0.1:4161 &

此时打开139.196.205.*:4161 会看到NSQadmin的web界面

创建一个topic

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

持久化

$ nohup ./nsq_to_file --topic=test --output-dir=/tmp --lookupd-http-address=127.0.0.1:4161 &

持续推送消息

$ curl -d 'hello world 2' 'http://127.0.0.1:4151/pub?topic=test'
$ curl -d 'hello world 3' 'http://127.0.0.1:4151/pub?topic=test'
 类似资料: