NSQ [2.7k] go实现的,部署简单
最后更新于:2022-04-02 04:02:21
[TOC]
> [doc](https://nsq.io/overview/quick_start.html)
## 概述
![UTOOLS1585108358609.png](http://yanxuan.nosdn.127.net/82a922e1824f96470b86eff0b89c19e1.png)
nsq 是一个实时分布式消息传递平台
使用下来我们可以看到,nsq为了提供性能在一些方面是做出了妥协的,我们可以总结出下面几个方面供大家参考:
1. 暂时nsq的鉴权功能在高版本才支持,但是高版本没有release所以建议nsq在内网环境下使用,或者在一些安全的端口使用,避免被攻击
2. 部署节点在3个以上,nsq已经对于消息丢失做了很多的考虑,基本上不会出现丢失的情况,在你考虑幂等性的情况下,同时部署多个节点有利于消息进行处理
3. 如果对消息顺序有要求的情况下,nsq是不能使用的,因为nsq不能保证消息的顺序
4. 节点之间没有消息复制,所以即使多个节点部署,万一节点出现问题,还是有一段时间会出现消息无法接收到的情况,所以向多个节点同时发送消息也是一种解决方式
5. 因为nsq抛弃了一些东西,那么所带来的自然是方便,整体使用下来主要感受就是轻量,部署和配置都很方便,而且对于节点的监控能有界面
5. 官方也说了,发送消息其实不建议使用客户端,而建议使用http请求,所以我自己是使用okhttp进行消息的发送
## 安装
mac
```
brew install nsq
```
source
```
$ git clone https://github.com/nsqio/nsq
$ cd nsq
$ make
$ ./test.sh
```
## 实例
### golang
需先开启 nsq
';