数据变更白屏化利器 - 推送轨迹上线

背景

Zookeeper 可作为注册配置中心,选主,分布式锁等多种场景,随着业务规模的扩大,业务之间的依赖关系逐渐变得复杂,在这种复杂的场景下如果遇到变更推送相关问题,排查起来相当困难,虽然 Zookeeper 原有的审计日志能够记录 Znode 的变更记录,但是无法查询到服务端对变更的推送记录,并且需要人工筛选,费时费力,长时间以来,用户对 Zookeeper 更丰富的推送功能的可观测性有了越来越强烈的需求。

MSE Zookeeper 最新上线推送轨迹能力,提供变更历史,变更推送记录,查询记录回溯能力,助力用户排查配置注册中心推送,变更回溯等难题。

推送轨迹功能介绍

Zookeeper 推送轨迹提供 Znode 变更和查询记录,以及服务端向客户端推送变更事件的记录,根据推送轨迹可以看到客户端的变更是否成功,以及变更成功后,服务端是否将变更事件推送到客户端,推送轨迹能够根据 Path 和 SessionID 两个维度查询到对应的日志记录。

Path 查询维度

提供对应的 Path 以及事件信息,即可查询对应的 Path 的变更记录:

推送轨迹详细展示了 Znode 变更的记录信息。在推送轨迹页面左侧,展示当前时间段内的 Znode 变更事件 ,点击左侧变更流水可以定位到右侧的变更及推送事件记录。页面右侧,展示当前时间段内的 Znode 变更及推送事件,变更事件中显示本次变更的类型,推送事件中展现推送发生事件,推送到的客户端 SessionID。鼠标上移推送详情图标可以查看本地推送的事件类型等详细信息。

Session 查询维度

在推送轨迹 Session 查询维度页面,展示该 Session 相关的推送轨迹 。变更时间表示本次 Znode 变更所发生的时间,变更事件表示本次 Znode 变更事件类型,Path 表示本次变更的 Znode Path,点击详情列信息按钮可以看到详情图标可以看到本次变更事件详细信息,点击详情列跳转按钮可以切换到 Path 维度查询的入口查询当前 Path 在该时间点的推送事件。

Zookeeper 推送轨迹最佳实践

1. 登录 MSE 管理控制台。

2. 在顶部菜单栏选择地域。

3. 在左侧菜单栏选择注册配置中心 > 实例列表。单击目标实例名称或操作列下方的管理。

4. 根据应用场景,对需要排查的 Znode 或者 Client SessionID 进行推送轨迹查

在微服务场景下,Zookeeper 经常被用作注册配置中心,常碰到的一个问题就是,ZooKeeper 在实例变化之后,实例信息更新的实效性问题,当我们需要排查 Zookeeper 是否将实例信息的变更或者配置信息的变更推送到客户端以及变更和推送的时间点和变更推送的状态时, 推送轨迹提供了这些信息的回溯能力。例如 Dubbo 场景中 ZooKeeper 作为注册中心,我们需要看到服务实例变更后,从 Zookeeper 获取的实例信息依然是旧的实例信息,此时我们可以通过以下步骤查找原因:

  • 首先可以在控制台找到对应的服务的 Path,

  • 然后根据 Path 在推送轨迹中查询对应 Znode 的变更和查询记录

例如我们需要知道 org.apache.dubbo.demo.DemoService 服务的变更推送记录,在推送轨迹,选择查询维度 路径,并在 Path 中输入 /dubbo/org.apache.dubbo.demo.DemoService/providers 查询对应的推送记录,根据客户端的 SessionID,可以查看对应的变更是否引起服务端推送变更事件,由此确定变更是否成功,变更成功后,对应的客户端是否成功收到服务端的变更事件推送,以及收到推送后是否向服务端进行查询,由此确定客户端是否更新本地的实例信息。

再例如配置中心场景下,我们常遇到的问题是客户端进行了配置变更,但是其他部分客户端并没有收到变更的推送,我们可以通过以下步骤查找原因:

  • 首先通过变更客户端的 SessionId 找到对应的变更记录,点击箭头按钮,跳转到此次变更对应的路径查询维度推送轨迹,确定配置变更是否成功。

  • 跳转之后我们看到对应的变更记录的推送详情,此时我们可以确定没有收到变更的客户端是否在推送客户端的集合中,如果没有,则说明推送时客户端与服务端连接断开,导致 Session 超时被服务端摘掉了,如果事件被成功推送了,接下来查看客户端是否进行新配置的查询,如果没有查询,就需要从客户端进行排查。

根据以上的排查就可以大致定位问题所在,推送轨迹大大地简化了问题排查的流程。

后续,注册和配置中心还将提供全新的自诊系统,包括事件统计、健康审计等功能,帮助用户更加全面的获取注册和配置中心运行时上更多的业务功能状态数据信息,降低注册和配置中心的问题排查难度、提升可用性。

作者:子葵

原文链接

本文为阿里云原创内容,未经允许不得转载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我们总结了弹性伸缩的五个条件与六个教训

前言 弹性伸缩是云计算时代给我们带来的一项核心技术红利,但是 IT 的世界中,没有一个系统功能可以不假思索的应用到所有的场景中。这篇文章,我们将应用企业级分布式应用服务-EDAS 的客户在进行系统架构设计时,在弹性场景下遇到的…

KubeVela 1.5:灵活框选 CNCF 原子能力打造独特的企业应用发布平台

KubeVela 1.5 于近日正式发布。在该版本中为社区带来了更多的开箱即用的应用交付能力,包括新增系统可观测;新增 Cloud Shell 终端,将 Vela CLI 搬到了浏览器;增强的金丝雀发布;优化多环境应用交付工作流等。进一步提升…

开源小白到核心开发——我与 sealer 的成长故事

个人简介 大家好,我是周欣元,本科就读于杭州师范大学,今年 9 月将去往云南大学进行研究生学习。本科研究方向为 docker 容器在网络攻防中的应用,目前作为 sealer member 加入了核心模块 sealer runtime 的研发工作。 个人主页&a…

全链路灰度新功能:MSE 上线配置标签推送

背景 微服务场景下,全链路灰度作为一种低成本的新功能验证方式,得到了越来越广泛的应用。除了微服务实例和流量的灰度,微服务应用中的配置项也应该具备相应的灰度能力,以应对灰度应用对特殊配置的诉求。 为什么需要配置标签推送…

hdu3527spy(STL,map)

Description The NationalIntelligence(情报工作) Council(委员会) of X Nation receives a piece ofcredible(可靠的) informationthat Nation Y will send spies(间谍) to stealNation X’s confidential(机密的) paper. So thecommander(指挥官) of TheNational Intelligen…

万节点规模云服务的 SRE 能力建设

背景及现状 系统架构简介 上图为阿里云内部实际使用的系统架构,系统主要用途为实时数据流的计算和存储。使用阿里云的容器服务 ACK 作为系统底座,容器化的部署、发布、管控等全部基于 K8s 标准。使用自己开发的 Gateway service 作为系统流量入口&#…

HDU 3532 Max Angle(计算几何——极角排序)

Description Given manypoints in a plane, two players are playing an interesting game. Player1 selects one point A as the vertex(顶点) of an angle. Then player2 selects other two points Band C. A, B and C are different with each other. Now they get an an…

阿里云 ACK 容器服务生产级可观测体系建设实践

ACK 可观测体系介绍 全景概要介绍 上图为 ACK 可观测体系全景图金字塔,从上至下可分为四层: 最上层是最接近用户业务的 Business Monitoring,包括用户业务的前端的流量、PV、前端性能、JS 响应速度等监控。通过容器服务的 IngressDashboard…

中仑网络全站 Dubbo 2 迁移 Dubbo 3 总结

中仑网络在 2022 年完成了服务框架从 Dubbo 2 到 Dubbo 3 的全站升级,深度使用了应用级服务发现、Kubernetes 原生服务部署、服务治理等核心能力。来自中仑网络的技术负责人来彬彬对整个 Dubbo 3 的选型、升级过程及收益等做了深入总结。 来彬彬,2020 年…

hdu3526(最小费用流)

Description Xiao A isbecoming more and more unsatisfied with his computer since he is learninghacker(黑客技术) technologiesthese days but his computer always fails whenever he changes the configurationsof the NIC. He buys a new NIC but the motherboard doe…

hdu3530Subsequence【单调队列优化dp】2010多校联合

Description There is asequence(顺序,序列) of integers.Your task is to find the longest subsequence(子序列) that satisfies the following condition: the differencebetween the maximum element and the minimum element of the subsequence is nosmaller…

基于 OpenYurt 和 EdgeX 的云边端协同新可能

2022 EdgeX 中国挑战赛暨中关村国际前沿科技创新大赛 EdgeX 专题赛正式拉开帷幕。本次大赛分设两大赛道:医疗、教育、消费行业赛道和能源、工业、供应链赛道。大赛致力于构建一个物联网及边缘计算的学习和分享平台,基于 EdgeX Foundry、OpenYurt 等开源技…

OSCAR 2022 开源产业大会PolarDB-X、 PolarDB-PG获奖揭晓

9月16日,OSCAR 2022 开源产业大会在京召开,会议由中国信息通信研究院、中国通信标准化协会主办,中国通信标准化协会云计算标准和开源推进委员会承办。此次会议以“千行百业 可信开源”为主题,邀请上百位专家大咖和国内主流的开源社…

C链表(顺序表、静态链表区别)

#include <stdio.h> #include <stdlib.h> #define LIST_INIT_SIZE 1000 //线性表存储空间的初始分配量 #define LISTINCRESEMENT 100 //线性表存储空间的分配增量 #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int elemType;//元素类型…

HDU3534 给你一个树让你找出其中最长路径以及个数数

Description In the Datastructure class of HEU, the teacher asks one problem: How to find the longestpath(路径) of one treeand the number of such longest path? Input There are several test cases. The firstline of each case contains only one integer N, m…

国庆训练赛

Description Consider the following programming language. This language contains only two types of statements: simple statements and compound statements. The simple statement is in the form “write (literal)”, where “write” is a key word indicating that …

App 隐私合规“免费”自动化检测

一、为什么要进行App隐私合规检测 2021年11月1日《个人信息保护法》正式生效&#xff1b;今年6月14日&#xff0c;国家互联网信息办公室公布《移动互联网应用程序信息服务管理规定》&#xff0c;这是针对App的最强监管新规&#xff0c;于8月1日起正式实施。新规要求应用程序提…

POJ3420 Quad Tiling(模板+矩阵快速幂)

Quad Tiling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4107 Accepted: 1878 Description Tired of(厌烦) the Tri Tiling gamefinally, Michael turns to(转向) a morechallengeable game, Quad Tiling: In how many ways can you tile(铺瓷砖) a 4 …

跨模态学习能力再升级,EasyNLP 电商文图检索效果刷新 SOTA

导读 多模态内容&#xff08;例如图像、文本、语音、视频等&#xff09;在互联网上的爆炸性增长推动了各种跨模态模型的研究与发展&#xff0c;支持了多种跨模态内容理解任务。在这些跨模态模型中&#xff0c;CLIP&#xff08;Contrastive Language-Image Pre-training&#x…

EasyNLP 带你实现中英文机器阅读理解

导读 机器阅读理解是自然语言处理&#xff08;NLP&#xff09;&#xff0c;特别是自然语言理解&#xff08;NLU&#xff09;领域最重要的研究方向之一。自1977年首次被提出以来&#xff0c;机器阅读理解已有近50年的发展史&#xff0c;历经“人工规则”、“传统机器学习”、“…