补充 nats 部分内容.
Signed-off-by: chen.yang <chen.yang@yuzhen-iot.com>
This commit is contained in:
parent
3b4bed449f
commit
f67aa8ed49
|
@ -56,7 +56,13 @@ go get github.com/nats-io/nats.go/
|
|||
启动 NATS 服务:
|
||||
|
||||
```bash
|
||||
# 基本用法
|
||||
nats-server
|
||||
# 绑定监听地址,指定监听端口
|
||||
nats-server -a <addr> -p <port>
|
||||
# 显示调试信息
|
||||
nats-server -V
|
||||
nats-server -VV
|
||||
```
|
||||
|
||||
## 3.Golang Client API
|
||||
|
@ -73,6 +79,11 @@ nats-server
|
|||
|
||||
### 3.6.通配符订阅
|
||||
|
||||
可用 “\*” 和 “\>” 作为通配符,其中 “\>” 用作宽容匹配,而 “\*” 用作严格的匹配。如:
|
||||
|
||||
* foo.\* 匹配 foo.bar、foo.baz,但是不匹配 foo.bar.baz
|
||||
* foo.\> 匹配 foo.bar、foo.baz、foo.bar.baz、foo.bar.1
|
||||
|
||||
### 3.7.队列订阅
|
||||
|
||||
如果我们把 subscriber 分组,那么当 publisher 往 subject 上发布一条消息后,同一组里只有一个 subscriber 会收到此消息(每个成员都有相同的机会接收该消息),从而实现了负载均衡:
|
||||
|
@ -109,6 +120,49 @@ wg.Wait()
|
|||
|
||||
### 4.2.nats
|
||||
|
||||
nats 工具是以前 nats-sub 和 nats-pub 等工具的集合,可通过该工具订阅和发布消息。通过 [官方 gihub](https://github.com/nats-io/natscli) 下载对应安装包进行安装。
|
||||
|
||||
#### 4.2.1.创建 Context
|
||||
|
||||
使用 nats 工具之前需要先创建 Context,一个 Context 可以理解为一个通信上下文,Context 中指定的通信的目标服务器,可以有多个 Context 存在,但同时只有一个 Context 处于激活状态:
|
||||
|
||||
```bash
|
||||
# 添加 Context
|
||||
nats context add <name> --server <localhost:6000> --description <"description">
|
||||
# 查看全部已添加的 Context
|
||||
nats context ls
|
||||
# 激活某 Context
|
||||
nats context set <name>
|
||||
# 删除某 Context
|
||||
nats context rm <name>
|
||||
```
|
||||
|
||||
#### 4.2.2.订阅/发布主题
|
||||
|
||||
```bash
|
||||
# 订阅主题
|
||||
nats sub [<flags>] [<subject>]
|
||||
# 如
|
||||
nats sub cli.demo
|
||||
# 发布主题
|
||||
nats pub [<flags>] <subject> [<body>]
|
||||
# 如
|
||||
nats pub cli.demo "hello world"
|
||||
```
|
||||
|
||||
#### 4.2.2.请求/回复主题
|
||||
|
||||
```bash
|
||||
# 回复主题(一般用作服务)
|
||||
nats reply [<flags>] <subject> [<body>]
|
||||
# 如:提供北京天气的服务
|
||||
nats reply 'cli.weather.beijing' 'Sunny'
|
||||
# 请求主题(客户端)
|
||||
nats request [<flags>] <subject> [<body>]
|
||||
# 如:客户端获取北京天气信息
|
||||
nats request "cli.weather.beijing" 'Weather Service' --raw
|
||||
```
|
||||
|
||||
### 4.3.nk
|
||||
|
||||
### 4.4.nsc
|
||||
|
|
Loading…
Reference in New Issue