1.背景
注册配置千千万,唯有推送轨迹最解愁。
微服务体系下,注册中心的调用和配置变更是家常便饭,例如阿里每天就有百万级变更、亿级推送。可是,一旦出现调用或配置异常,问题排查就成了用户最大的困惑:是注册和配置中心导致的,还是上下游业务自身的问题呢?
微服务体系下用户排查问题时的困惑
因此,长时间以来,用户对注册和配置中心推送功能的可观测性,有了越来越强烈的需求。
2.业内现有的开源方案
当前,业内其他主流的开源注册或配置中心,例如 Zookeeper、Eureka、Consul、Apollo 在核心功能推送情况上,仅提供了一些散落的日志,并没有查询推送成功与否的能力。一旦出现调用或配置异常,只能通过手动登录到注册和配置中心的节点上,以较为原始的日志方式来查寻推送相关的信息。如果用户对注册和配置中心的源码及日志内容的具体情况不了解,则会使问题排查的难度大大增加。
基于上述背景,Nacos 在业内首次推出注册和配置中心的推送轨迹功能。
3.推送轨迹功能介绍
推送轨迹,是指 Nacos 服务或配置从 server 端到 client 端的一次推送链路上的相关信息展示。推送轨迹可以让用户非常方便的查询到:
注册中心服务推送的信息
配置中心的配置变更发布和推送的信息
从而非常清晰地观测到 Nacos 推送功能的履约情况,极大的提高问题的排查效率。
(1)注册中心推送轨迹
注册中心的推送轨迹,可以用来排查服务推送的相关问题,例如:
- 客户端未收到服务推送
- 服务间调用出现异常
- 注册中心是否正常将服务推送到客户端
MSE - Nacos 注册中心推送轨迹查询页面
MSE - Nacos 注册中心推送轨迹,详细展示了注册中心服务推送的记录信息。其中,推送时间字段是本次推送事件发生的时间,推送客户端 IP 字段是本次推送所送达的客户端 IP 地址,推送服务名称是本次推送的服务名称,推送服务分组是本次推送服务的所属分组名称,服务实例数量是只本次推送服务中所包含的实例 IP 数量,节点名称是产生本次推送的 Naocs 节点名称。
同时,MSE - Nacos 注册中心推送轨迹也支持服务与 IP 多维度的查询。
(2)配置中心推送轨迹
配置中心的推送轨迹,可以用来排查配置中心配置变更和发布的相关问题,例如:
- 配置发布异常
- 配置修改完发现某台机器不生效
- 需要查看配置中心变更及推送事件
配置维度查询
可以查询和该配置相关的变更事件以及对客户单端 IP 的推送记录。
MSE - Nacos 配置中心推送轨迹配置维度查询页面
MSE - Nacos 配置中心推送轨迹详细展示了配置中心配置变更的记录信息。在推送轨迹页面左侧,展示当前时间段内的配置变更事件 ,点击左侧变更流水可以定位到右侧的变更及推送事件记录。页面右侧,展示当前时间段内的配置变更及推送事件,变更事件中显示本次变更内容的 MD5 值,推送事件中展现推送发生事件,推送到的客户端 IP。鼠标上移推送详情图标可以查看本地推送中,客户端获取到的配置内容 MD5。
IP 维度查询
可以根据 IP 查询所有和该 IP 地址相关的推送轨迹 。
配置中心推送轨迹 IP 维度查询页面
在推送轨迹 IP 查询维度页面,展示该 IP 地址相关的推送轨迹 。变更时间表示本次配置变更所发生的时间,变更时间表示本次配置变更事件类型,DataId 表示该配置变更事件的配置 DataId,Group 表示该配置变更事件的配置所属分组,点击详情列信息按钮可以看到详情图标可以看到本次变更事件详细信息,点击详情列跳转按钮可以切换到配置维度查询的入口查询当前配置在该时间点的推送事件。
4.推送轨迹最佳实践
Aliware
(1)注册中心推送轨迹
- 登录 MSE 管理控制台。
- 在顶部菜单栏选择地域。
- 在左侧菜单栏选择注册配置中心 > 实例列表。单击目标实例名称或操作列下方的管理。
- 在左侧边栏基础信息页面选择服务管理 > 推送轨迹,进入推送轨迹功能页面。
- 或者在左侧边栏基础信息页面选择服务管理 > 服务列表,在每条服务信息的右侧点击推送轨迹按钮,进入推送轨迹功能页面。
- 进入推送轨迹功能页面后,单击查询维度下拉框选择查询维度:服务,在左上角服务名称输入框输入待查询服务的名称,在分组名称输入框输入服务所属的分组,然后再右上角时间控件中选择要查询的时间范围,最后点击查询按钮。
在查询维度下拉框内,也可以选择查询维度:IP,则表示查询该客户端收到的全部推送信息。
(2)配置中心推送轨迹
- 登录 MSE 管理控制台。
- 在顶部菜单栏选择地域。
- 在左侧菜单栏选择注册配置中心 > 实例列表。单击目标实例名称或操作列下方的管理。
- 在基础信息页面选择配置管理 > 推送轨迹。单击查询维度下拉框选择查询维度:配置,然后在 Data ID 输入待查询配置的数据 ID,在 Group 输入配置所属的分组,最后单击搜索图标进行搜索。
推送轨迹只是第一步,后续,MSE - Nacos 还将提供全新的自诊系统,包括事件统计、健康审计等功能,帮助用户更加全面的获取注册和配置中心运行时上更多的业务功能状态数据信息,降低注册和配置中心的问题排查难度、提升可用性。