问题排查不再愁,Nacos 上线推送轨迹功能
简介: 微服务体系下,注册中心的调用和配置变更是家常便饭,例如阿里每天就有百万级变更、亿级推送。可是,一旦出现调用或配置异常,问题排查就成了用户最大的困惑:是注册和配置中心导致的,还是上下游业务自身的问题呢?
作者:严达
背景
注册配置千千万,唯有推送轨迹最解愁。
微服务体系下,注册中心的调用和配置变更是家常便饭,例如阿里每天就有百万级变更、亿级推送。可是,一旦出现调用或配置异常,问题排查就成了用户最大的困惑:是注册和配置中心导致的,还是上下游业务自身的问题呢?

微服务体系下用户排查问题时的困惑
因此,长时间以来,用户对注册和配置中心推送功能的可观测性,有了越来越强烈的需求。
业内现有的开源方案
当前,业内其他主流的开源注册或配置中心,例如 Zookeeper、Eureka、Consul、Apollo 在核心功能推送情况上,仅提供了一些散落的日志,并没有查询推送成功与否的能力。一旦出现调用或配置异常,只能通过手动登录到注册和配置中心的节点上,以较为原始的日志方式来查寻推送相关的信息。如果用户对注册和配置中心的源码及日志内容的具体情况不了解,则会使问题排查的难度大大增加。
基于上述背景,Nacos 在业内首次推出注册和配置中心的推送轨迹功能。
推送轨迹功能介绍
推送轨迹,是指 Nacos 服务或配置从 server 端到 client 端的一次推送链路上的相关信息展示。推送轨迹可以让用户非常方便的查询到:
- 注册中心服务推送的信息
- 配置中心的配置变更发布和推送的信息
从而非常清晰地观测到 Nacos 推送功能的履约情况,极大的提高问题的排查效率。
注册中心推送轨迹
注册中心的推送轨迹,可以用来排查服务推送的相关问题,例如:
- 客户端未收到服务推送
- 服务间调用出现异常
- 注册中心是否正常将服务推送到客户端

MSE - Nacos 注册中心推送轨迹查询页面
MSE - Nacos 注册中心推送轨迹,详细展示了注册中心服务推送的记录信息。其中,推送时间字段是本次推送事件发生的时间,推送客户端 IP 字段是本次推送所送达的客户端 IP 地址,推送服务名称是本次推送的服务名称,推送服务分组是本次推送服务的所属分组名称,服务实例数量是只本次推送服务中所包含的实例 IP 数量,节点名称是产生本次推送的 Naocs 节点名称。
同时,MSE - Nacos 注册中心推送轨迹也支持服务与 IP 多维度的查询。
配置中心推送轨迹
配置中心的推送轨迹,可以用来排查配置中心配置变更和发布的相关问题,例如:
- 配置发布异常
- 配置修改完发现某台机器不生效
- 需要查看配置中心变更及推送事件
- 配置维度查询
可以查询和该配置相关的变更事件以及对客户单端 IP 的推送记录。

MSE - Nacos 配置中心推送轨迹配置维度查询页面
MSE - Nacos 配置中心推送轨迹详细展示了配置中心配置变更的记录信息。在推送轨迹页面左侧,展示当前时间段内的配置变更事件 ,点击左侧变更流水可以定位到右侧的变更及推送事件记录。页面右侧,展示当前时间段内的配置变更及推送事件,变更事件中显示本次变更内容的 MD5 值,推送事件中展现推送发生事件,推送到的客户端 IP。鼠标上移推送详情图标可以查看本地推送中,客户端获取到的配置内容 MD5。
- IP 维度查询
可以根据 IP 查询所有和该 IP 地址相关的推送轨迹 。

配置中心推送轨迹 IP 维度查询页面
在推送轨迹 IP 查询维度页面,展示该 IP 地址相关的推送轨迹 。变更时间表示本次配置变更所发生的时间,变更时间表示本次配置变更事件类型,DataId 表示该配置变更事件的配置 DataId,Group 表示该配置变更事件的配置所属分组,点击详情列信息按钮可以看到详情图标可以看到本次变更事件详细信息,点击详情列跳转按钮可以切换到配置维度查询的入口查询当前配置在该时间点的推送事件。
推送轨迹最佳实践
注册中心推送轨迹
- 登录 MSE 管理控制台。
- 在顶部菜单栏选择地域。
- 在左侧菜单栏选择注册配置中心 > 实例列表。单击目标实例名称或操作列下方的管理。
- 在左侧边栏基础信息页面选择服务管理 > 推送轨迹,进入推送轨迹功能页面。
- 或者在左侧边栏基础信息页面选择服务管理 > 服务列表,在每条服务信息的右侧点击推送轨迹按钮,进入推送轨迹功能页面。
- 进入推送轨迹功能页面后,单击查询维度下拉框选择查询维度:服务,在左上角服务名称输入框输入待查询服务的名称,在分组名称输入框输入服务所属的分组,然后再右上角时间控件中选择要查询的时间范围,最后点击查询按钮。
在查询维度下拉框内,也可以选择查询维度:IP,则表示查询该客户端收到的全部推送信息。
配置中心推送轨迹
- 登录 MSE 管理控制台。
- 在顶部菜单栏选择地域。
- 在左侧菜单栏选择注册配置中心 > 实例列表。单击目标实例名称或操作列下方的管理。
- 在基础信息页面选择配置管理 > 推送轨迹。单击查询维度下拉框选择查询维度:配置,然后在 Data ID 输入待查询配置的数据 ID,在 Group 输入配置所属的分组,最后单击搜索图标进行搜索。
推送轨迹只是第一步,后续,MSE - Nacos 还将提供全新的自诊系统,包括事件统计、健康审计等功能,帮助用户更加全面的获取注册和配置中心运行时上更多的业务功能状态数据信息,降低注册和配置中心的问题排查难度、提升可用性。
本文为阿里云原创内容,未经允许不得转载。
问题排查不再愁,Nacos 上线推送轨迹功能的更多相关文章
- Dubbo学习系列之十一(Dashboard+Nacos规则推送)
中国武术,门派林立,都是号称多少代的XXX传人,结果在面对现代武术时,经常被KO秒杀,为啥,光靠宣传和口号撑门面,终究是靠不住,必须得有真货 ,得经得住考验,所以不能只说Sentinel有多好,也得给 ...
- iPhone的Push(推送通知)功能原理浅析
第一部分:Push原理(以下绝大多数内容参考自.图片来自iPhone OS Reference Library)机制简介Push 的工作机制可以简单的概括为下图图中,Provider是指某个iPhon ...
- 拥抱HTTP2.0时代 - HTTP2.0实现服务器端推送Push功能
在当今的移动互联开发趋势中,nghttp2是一个很值得大家去关注的一个开源项目. 我们在nghttpx模块中实现了HTTP/2服务器推送功能,并且在我们的nghttp2.org网站中启用了该推送功能. ...
- EasyRTMP实现对接海康、大华等IPCamera SDK进行RTMP推送直播功能
本文转自EasyDarwin团队Kim的博客:http://blog.csdn.net/jinlong0603 Demo项目介绍 EasyRTMP Demo代码下载地址https://github.c ...
- 极光推送Jpush功能(具体参照官网说明文档,注意此文红色字体)
1.导入框架 2. //推送 #import "APService.h" - (BOOL)application:(UIApplication *)application didF ...
- 【二次开发jumpserver】——整合jumpserver与zabbix推送主机功能
jasset/forms.py "ip", "other_ip", "hostname", "port", " ...
- 极光API推送 (v3 版本)
Push API v3 这是 Push API 最近的版本. 相比于 API v2 版本,v3 版本的改进为: 完全基于 https,不再提供 http 访问: 使用 HTTP Basic Authe ...
- 我有 7种 实现web实时消息推送的方案,7种!
技术交流,公众号:程序员小富 大家好,我是小富- 我有一个朋友- 做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里 ...
- 7种实现web实时消息推送的方案
做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里我帮他整理了一下几种方案,并简单做了实现. 什么是消息推送(pus ...
- 推送 iOS 10
1:APNs通知与应用内消息对比 极光文档上面是这么写的 后来更直接的说法是: 2:下面是介绍app不同状态下面接受到通知调用的方法: // iOS 10 Support,这个是程序在前台接受到通知是 ...
随机推荐
- 个性化的单芯片的回声消除(AEC)解决方案
概述 这些年随着智能化产品的广泛应用,各种新型音频产品也层出不穷,在这个古老的领域,传统的回声消除方案一般是功耗高,成本非常高,集成性差.无法满足新产品新市场对回声消除的低成本低功耗个性化需求等特 ...
- Android 线性布局平分宽度item的隐藏问题
原文:Android 线性布局平分宽度item的隐藏问题 - Stars-One的杂货小窝 一直只使用layout_weight来平分布局,但是如果隐藏了某个item,会导致其他item宽高有所变化 ...
- 阿里云配置http转https
参考:https://www.cnblogs.com/alexfly/p/10615986.htmlhttps://www.cnblogs.com/SemiconductorKING/p/910697 ...
- Spring JDBCTemplate Query方法查询
queryspringtypessqldaoemail 近日系统有一个打印采购单的功能,发现连续打印多张后,主机宕机,看了下service和dao层的实现,很繁杂,估计原因主要出在组页面资料的时候,循 ...
- 说JS作用域,就不得不说说自执行函数
一个兜兜转转,从"北深"回到三线城市的小码农,热爱生活,热爱技术,在这里和大家分享一个技术人员的点点滴滴.欢迎大家关注我的微信公众号:果冻想 前言 不得不吐槽,学个JS,这个概念也 ...
- 更智能的广告素材生成!看A/B测试如何驱动AIGC素材调优
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 前言:AIGC大爆发,引发广告营销行业变革 ChatGPT等AI产品引发的AIGC大爆发引起了各行业的震动,其中以 ...
- 记录--TS类型写不好?一起来训练提升吧!
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前期准备 本篇文章的编写目的是为了提升TS类型的书写质量,高质量的类型可以提高项目的可维护性并避免一些潜在的漏洞; 在学习本篇之前需要有一 ...
- HTML/ CSS 入门
前言 我们在之前的学习中,对于网络有了一定的了解.现在我们来学习一些基础的 HTML/ CSS 知识.希望阅读完这篇文章能达到编写简单页面的程度. 目录: HTML/ CSS 的发明: HTML 基础 ...
- JDK8 ::用法(双冒号)
JDK8中有双冒号的用法,就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下. List<String> lt = Arrays.asList(&q ...
- 基于proteus的4019的移位设计
基于proteus的4019的移位设计 1.实验原理 4019是一个基于CMOS的数字集成芯片,具有数据选择和逻辑门或两种工作状态.这里利用数据选择的切换,实现数据的左移和右移操作.简而言之就是左移使 ...