1、意义
客户端简单化
不需要感知后端集群的变化,比如增加了cluster,迁移了位置等;
客户端性能
连接到本地leafnode链路质量好(时延、带宽、震荡等),leafnode到远端server的连接少,传输数据少。
管理
设计租户、权限、subject等,没有使用,理解不深刻。
边缘节点处理能力
Leafnode上可以处理客户端认证、消息聚合等。
场景:特别适合于边缘场景,尤其是IoT
2、配置
2.1 服务端
Conf文件需要配置监听端口:
如果使用helm,则增加:
并且为7422设置nodeport或者ingress(此处为nodeport):
2.2 leafnode(本地单进程)
本地server启动(从nats.io下载对应的可执行文件):
3、测试结果
客户端的stream和服务端的stream互相看不到:
服务端使用nats-box的nats stream ls
客户端使用for name := range js.StreamNames()
直接订阅对端的stream会报错,需要本地显式添加stream
添加stream后订阅可以订阅到对端发布的subject