NATS_06:NATS队列验证与监控
1. NATS 之 Queueing(队列)模式验证
主要以下讲的都是基于 NATS 服务已经开启了(没有开启的请运行:gnatsd 启动);还有请注意所有运行的 go 文件都是在 $GOPATH/src/github.com/nats-io/go-nats/examples/ 下
1. 启动注册一个队列q,需要申明 主题 和 名称
$ go run nats-qsub.go foo my-queue
2. 运行一个客户端c,需要注册上一个队列注册的主题,用于从队列中实时读取数据
$ go run nats-sub.go foo
3. 运行一个发送消息端p,也需要注册队列注册的主题,用于向队列写入数据
$ go run nats-pub.go foo "hello world"
$ go run nats-pub.go foo "hello NATS"
$ go run nats-pub.go foo "hello NATS again"
4. 消息终端展示
队列q 接收的消息输出
[#1] Received on [foo] Queue[my-queue] Pid[1248]: 'Hello world'
[#2] Received on [foo] Queue[my-queue] Pid[1248]: 'Hello NATS'
[#3] Received on [foo] Queue[my-queue] Pid[1248]: 'Hello NATS again'
客户端c 接收的消息输出
[#1] Received on [foo]: 'Hello world'
[#2] Received on [foo]: 'Hello NATS‘
[#3] Received on [foo]: 'Hello NATS again'
2. 基本的监控
启动 NATS 服务以及激活监控端口,例如
$ gnatsd -m 8222
查证 NATS 服务启动对应的 http 端口 4222 以及监控端口 8222
[] // ::21.495787 [INF] Starting nats-server version 0.9.
[] // ::21.495900 [INF] Starting http monitor on 0.0.0.0:
[] // ::21.496043 [INF] Listening for client connections on 0.0.0.0:
[] // ::21.496083 [INF] Server is ready
看到以上信息打印出来证明启动成功,我们可以在浏览器中输入四个个地址用来查看有关监控不同点点情况:
1. http://localhost:8222/varz 用来监控NATS整体服务情况
2. http://localhost:8222/connz 用来监控NATS-Client详情,有几个客户端就有几个详情,默认最多有1024个连接且采用分页的形式,可以通过limit 和 offset 来进行分页显示,形如:
http://localhost:8222/connz?limit=1&offset=1 (即按照分页的形式显示第一页的第一条信息)
http://localhost:8222/connz?limt=1&offset=1&subs=1 (即显示客户端第一个连接信息即subs=1的第一页的第一条信息)
http://localhost:8222/varz http://localhost:8222/connz

3. http://localhost:8222/subscriptionsz 可以查看具体的订阅者信息
4. http://localhost:8222/routez 可以查看集群中当前活跃的路由信息,它不支持分页机制,但是它支持 订阅者 序号参数,即可以这样查询:
http://localhost:8222/routez?subs=1
http://localhost:8222/subscriptionsz
http://localhost:8222/routez

NATS_06:NATS队列验证与监控的更多相关文章
- NATS_07:NATS之top工具监控以及测量调优工具
概述 你可以使用 nats-top 来实现类似于 linux 中 top 命令的实时监控 nats 服务: 可以使用 nats 提供的工具来进行针对性的调优. 安装nats-top $ go get ...
- 【MQ中间件】RabbitMQ -- RabbitMQ死信队列及内存监控(4)
1.RabbitMQ TTL及死信队列 1.1.TTL概述 过期时间TTL表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取:过了之后消息将自动被删除.RabbitMQ可以对消息和队列设 ...
- NATS_05:NATS服务器部署
1.NATS安装前的普及 NATS 的服务器是使用 GoLang 语言开发的,其可执行文件的名字为:gnatsd,表示:Go NATS Daemon.NATS服务器是一个开源软件,基于 MIT 许可证 ...
- NATS_09:NATS常见问题说明
1. Request() 和 Publish() 之间的不同 Publish()发送一条消息到 gnatsd 服务,是使用它的地址作为一个 主题(subject),而 gnatsd 交付消息给所有注册 ...
- zabbix监控服务
1.模板的重要 1.手动添加监控比较麻烦,监控项 -> 图形 -> 触发器. 问题: 1.例如: 100台服务器需要检查81端口 2.例如: 100台服务器81改成82 解决: 使用模 ...
- LoadRunner监控数据库服务器
使用LoadRunner的数据库服务器资源监控器,可以在场景或会话步骤运行期间监控DB2.Oracle.SQL Server或Sybase数据库的资源使用率.在场景或会话步骤运行期间,使用这些监控器可 ...
- Install and Run NATS Streaming Server
NATS是一个开源的.轻量级的.高性能的分布式消息通信系统,使用的公司有百度.西门子.VMware.HTC和爱立信.NATS Streaming是以NATS为动力的数据流系统,是用go语言写的,NAT ...
- springboot(十九):使用Spring Boot Actuator监控应用
微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? ...
- 容器化的Apache服务并监控
1:基础容器编译部署apache 1.1:pull一个ubuntu 16.04的镜像 sudo docker pull ubuntu:16.04 1.2:运行容器 sudo docker run -d ...
随机推荐
- 作业MathExam
MathExam233 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 600 650 • ...
- Chapter 11 软件演化
软件一直在不断地演化发展,人们通常通过软件维护和软件再工程解决软件的缺陷.软件维护可以分为改正性维护.适应性维护和完善性维护几种类型.软件维护受开发过程影响大.软件维护困难大.软件维护成本高.软件维护 ...
- My Sql数据库设置环境变量和字符集
一.踩坑背景 之前开发中一直用的是sql server 数据库,最近接到公司一个老的项目,用的my sql数据库做的,功能做了一大部分,现在客户要求对原程序和数据库进行服务器的迁移工作.产品经理给出 ...
- Leetcode题库——11.盛最多水的容器
@author: ZZQ @software: PyCharm @file: maxArea.py @time: 2018/10/11 21:47 说明:给定 n 个非负整数 a1,a2,...,an ...
- OpenGL三维与光照
#include<windows.h> #include<gl/glut.h> #include<gl/gl.h> #include<gl/glu.h> ...
- 软工网络15团队作业8——Beta阶段敏捷冲刺(用户使用调查报告)
一.项目概述 1.项目名称 考研必背 2.项目简介 微信小程序,帮助考研学生记忆单词. 3.项目预期达到目标 用户无需下载app,仅通过微信小程序就可以达到背单词的目的,并且能够制定背单词的计划. 4 ...
- node下的跨域传递cookie
研究背景: 最近有一位朋友找工作,需要面试,涉及到面试就涉及面试题,于是我想起来鄙人之前面试被问到的一个跨域传递cookie的问题.搜索了相关资料,但自己不敲一下肯定是不足以让人信服的. 我用node ...
- windows多线程(二) 等待线程返回
多线程编程中,有时我们需要等待某一线程完成了特定的操作后再继续做其他事情,要实现这个目的,可以使用Windows API函数WaitForSingleObject,或者WaitForMultipleO ...
- HashMap,HashTable,concurrentHashMap,LinkedHashMap 区别
HashMap 不是线程安全的 HashTable,concurrentHashMap 是线程安全 HashTable 底层是所有方法都加有锁(synchronized) 所以操作起来效率会低 con ...
- JS选取DOM元素的方法
摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选) 今 ...