干货 | 携程机票前台Trace系统的演进之路

携程商旅酒店直连平台的实践(一) 现在才发现,离我上一篇博文竟然接近1年没有发过东西了。惊呆了我。我要每周都写了,就算不写技术也要写其他东西,不然真的是思考的多,没有留下记录都是空白。 在携程商旅主要做酒店直连这一块。商旅酒店其实架构都很老,并且实践的技术很多不是很新。但是抗住了之前的压力,但是开始做直连之后就显得比较不行了。 之前商旅的酒店类型区分为如下 1.OTA酒店 2.单体酒店 3.非直连套系酒店 4.直连套系酒店 区... 阅读详情

作者简介

Devin,携程资深后端开发工程师,专注 Java相关领域以及自动化相关的研究

Hank,携程资深后端开发工程师,专注 java以及.net技术领域的研究

一、前言

随着微服务架构的普及,这些微服务构成了复杂的分布式网络,在支撑我们海量查询的同时,也带来了一些问题。

机票前台预订主流程服务现在有若干个系统,每个系统部署了多个服务,每个服务又依赖多个API,用户通过终端设备(手机、PC等)预订了机票产品,过程中出现“系统异常”该如何分析排查呢?

运营人员将问题抛给开发/测试人员定位,开发/测试人员只知道有异常,如何高效地从复杂的调用链条中找到原因,这对开发/测试人员会带来很大的挑战。

开发/测试人员借助单点日志逐个排查的效率是非常低的,特别是一些UI层的“待确认”的问题,只依赖一些日志报文进行排查效率是非常低下的。

如何提高开发/测试人员的排查效率,同时降低非开发人员的使用门槛?答案或许就是携程机票前台Trace系统。

二、Trace系统的发展历程

2.1 基于原始日志的Dev&Ops

机票前台的日志记录还是比较完善的,我们将系统中的服务以及上下游依赖的服务都进行了日志写入。依据业务属性制作了一些Kibana面板,结合一些解压缩工具是可以满足日常需求的。

在微服务架构中,随着业务的不断增加,复杂度同样也会越来高,对开发/测试以及运维人员的效率带来了很大的挑战,主要问题体现在:

  • 不同的微服务,多个日志Topic,多个查询面板

  • 需要人为手动聚合/串联不同的微服务的日志,还原用户行为

  • 不同团队的服务,日志压缩方式存在差异,解压方式不同

  • 面向开发的服务名称,可读性低

  • 公司内部系统间未打通,互相之间操作需要手工方式处理

2.2 基础建设

经过长时间的实践和探索,机票前台的日志体系和自动化设施都较为完备。

日志体系在机票前台主要有以下三类日志,这三类日志可以满足日常开发运维的基本需求,实现对整个流程的精准把控。

  • UBT日志,主要记录用户的一些行为日志,便于解决用户反馈的问题

  • Mertics日志,主要记录一些业务指标,作为内部后续业务需求演进的依据

  • Trace日志,记录服务处理过程中所产生的信息日志,如接口报文,错误信息等。

自动化设施,大幅度降低日常运维开发的成本。

  • Mock平台:通过Mock平台可以实现数据源(接口、DB等)定制化,从而控制和分析程序的逻辑走向。

  • 接口自动化平台:结合Mock平台实现服务接口的自动化测试

2.3 基于Chrome插件版本的Trace 工具

机票前台通过日志和自动化建设来保证日常开发运维的基本流程,通过Chrome插件来解决一些重复工作。比如:

  • 解压缩日志报文

  • 格式化解压后的报文

  • 快捷复制

713474ab58d1ef96a9b6c46af149474c.png

插件模式解决了一些重复工作,对效率有一定的提升。

2.4 遇到的问题

随着业务的不断膨胀,微服务越来越多。作为BFF层(Backends For Frontends 服务于前端的后端)我们需要聚合多个接口方提供的微服务,使得BFF层的调用关系也会越来越复杂。

现有的“插件模式”已经很难满足日常工作。

99fd4eaa0ccddfc6504b828c12d9fbd4.png

“插件模式Trace系统”遇到了如下一些问题:

  • 如何通过日志清晰的展示调用关系

  • 如何查询“过期日志”(ES有效期以外)

  • 微服务越来越多,如何快速通过搜索条件检索目标微服务

  • 如何高保真的还原用户预订时所见

  • 如何与其他系统打通(例如Mock系统、用户行为系统等)

  • 提高偏技术的“晦涩难懂”信息的可读性

三、系统设计

针对上述的问题,Trace系统进行了一些针对性的优化和演进。目前Trace系统大致架构如图所示。

56fcfb832ae4120652b24d1ce50d7bf7.png

  • 业务层:根据业务使用方分为前台主流程、机酒业务、增值业务、IBU等

  • Web层:主要有四个部分,搜索条件、数据展示、页面回放、一键Mock

  • 搜索引擎层:根据Web传达到服务的请求(搜索条件),构建Clickhouse的搜索SQL,从Clickhouse获取数据

  • 数据处理层:根据业务线将CK数据进行加工组装、处理一键Mock请求,并将数据传送至Web进行反馈

  • 配置信息:配置信息主要是针对引擎层做Clickhouse搜索配置以及业务层做业务字段配置

  • 日志记录:隶属于各个业务方的具体应用

四、系统的功能介绍

4.1 友好的搜索条件

针对Kibana的搜索条件进行了降噪和业务封装,采用了更适合用户行为习惯的友好搜索条件,见下图标志1。

fbaf6b3d070e4fd66d329cbdd67ec30d.png

4.2 日志查看功能

报文日志一般记录在ES/Clickhouse中,并最终在Kibana中呈现。在Kibana中可以通过组合过滤条件来获取我们需要的日志,并且也可以实现聚合服务整个链路日志的目的,但是Kibana存有一些用户行为习惯上的问题。

  • Kibana暴露原始的查询条件,所以数据较多,对于业务人员来说有冗余条件。

  • Kibana聚合日志的方式需要人工组合,并且日志类别一致,链路层次感不够清晰。

结合这两点,Trace系统对搜索条件进行了降噪,并且对链路日志采用分层处理,给予用户友好的使用体验。对日志报文支持自动解压缩以及格式化。

480d377ad93a1203503d229fefe2722c.png

3b9f318c70c65cf280b13a0c2fb64cf1.png

4.3 聚合多平台

上面提到的日志体系,三类日志存放在不同的数据源,通过不同平台进行展示。这也就导致日常过程中需要游走于多平台进行数据采集和分析。

比如在分析服务日志的同时需要查询用户的UI访问日志,需要在两个平台间跳转,并且平台的搜索数据无法同步。为了解决该问题,Trace系统采用了外链的形式进行聚合并关联单次查询的搜索数据,如时间和用户标志等,进行多平台之间的传递,从而达到数据串联的效果。

之所以采用外链方式而非在系统内部集成多平台内容,主要的考虑在于该系统的定位是做链路的追踪处理。如果耦合了过多的数据,系统就会变的复杂,会给系统用户造成过多的干扰。

f6e63ced60311694687f6d4804ee39d2.png

4.4 多业务场景聚合,过期日志补偿

系统在一次搜索中聚合多个业务线,如主流程预订,低价订阅,增值产品等,无需用户手动区分搜索渠道。并且对于Clickhouse过期(ClickHouse日志只存储半个月时间)数据采用Hive查询进行数据补偿。解决用户在ClieckHouse和Hive中切换。

4.5 基于CRN_Web技术的页面回放功能

日志体系和自动化设施的结合除了两者处于割裂状态之外,还有一个问题在于双方都是隶属于技术驱动,而对于非开发人员来说,具有较高的使用壁垒。比如在运维人员复现用户反馈问题的时候,需要开发人员介入,进行日志数据准备,环境Mock准备,而后才可以复现用户反馈的问题。而往往用户反馈的问题中,大多数是UI展示层面的问题,如果按照上述流程,则排障的成本较大。

因而Trace系统在链路追踪和自动Mock的基础上提供了用户页面回放的功能。系统会收集用户访问页面关联的所有服务请求的日志,将日志报文进行Mock,再通过CRNWeb技术,真实发起一次页面访问,此时服务会返回相应的Mock报文,从而达到页面回放的效果,让运维人员更加直观的了解用户所反馈的问题。

通过BatcheId关联一次页面访问中的同批次服务,系统进行自动拉取报文并进行Mock,然后将Mock结果关联当前用户标志,通过CRNWeb实现页面回放,高保真还原所见界面。

468a014f18aa8f60fb831fe7a923c372.png

4.6 一键Mock功能

日常工作中,日志体系和自动化设施处于割裂状态,主要体现在日志和Mock系统的结合使用。

在之前的使用流程中,我们需要在Kibana中搜索到链路日志,然后将接口调用的报文,在Mock系统中进行配置,这样的操作是比较费时费力的。有些服务调用的接口数量高达二三十个,这样的数据人工配置的话需要浪费非常长的时间。

针对这个问题,Trace系统在链路聚合的基础上提供了一键Mock的功能,将此次服务所涉及的链路调用全部自动配置到接口中,过程无需人工干涉,将之前需要十分钟的工作降低至五秒内,极大地提高了工作效率。

38eeb3880f397777611f683dc6fd7955.png

e6dff88ac55cea3871d6d2a6666e8692.png

4.7 关键信息外露

针对一些服务的错误场景,将错误码转换为实际错误文案,友好提示系统用户。

30e5f4c1afe01a1008d6788b1f9ec4aa.png

4.8 联通报表系统

报表系统是前台用于日常业务的监控系统,它能实时监控异常的业务场景和业务处理结果。Trace系统联通报表系统,在报表系统中可以通过外链跳转至Trace系统,并传递异常场景的相关参数,如用户标志,场景限定等,从而获取异常场景的上下文(日志),见4.7示图。

4.9 外链其他平台

采用了外链的形式进行多平台功能聚合,并关联单次查询的搜索数据,如时间、用户标志等,进行多平台之间的传递,从而达到数据串联的效果。

五、总结

Trace系统是针对日常开发运维过程中所浮现的一些问题,所研发的效能工具系统,它以降低开发运维成本,提高日常产能为目标,提供了诸多便捷性功能。系统在上线投入使用后,效果显著,取得了较大的产出和成果。

5.1 降低非开发人员的使用门槛,提高问题筛查的自助率,提升相应效率

  • 对数据进行业务含义转换,信息直接明了,提升自助率

  • 还原用户预订场景,精准获取用户反馈信息的同时,提高问题自检力

5.2 降低人力成本

  • 多业务场景聚合,解决多业务模块关联查询的费力度问题

  • 提升非开发人员的自助率,减少人力成本

  • 报文自动解压缩,一键Mock等自动化功能降低人工成本

5.3 降低沟通成本,提高了日常排障的产能,日常问题反馈中多以Trace系统外链进行信息共享

5.4 打通报表系统后使得异常场景筛查形成闭环

【推荐阅读】

99f3b86b598cc53930e86cfe25906c0d.jpeg

 “携程技术”公众号

  分享,交流,成长

Golang Trace 与日志系统的结合使用 本文旨在帮助Golang开发者理解Trace系统与日志系统的协同工作方式,掌握如何在实际项目中结合使用这两种重要的可观测性工具。我们将覆盖从基础概念到高级用法的完整知识体系。文章首先介绍Trace和日志的基本概念,然后深入探讨它们的结合使用方式,接着通过实际案例展示具体实现,最后讨论相关工具和未来发展趋势。Trace(追踪):记录请求在分布式系统中流转的完整路径和时序信息Span(跨度):Trace中的一个逻辑单元,代表一个操作或工作单元Log(日志):系统运行时产生的离散事件记录。 阅读详情

相关推荐

SQL Server跟踪(Trace)--系统跟踪日志;从小白到大神,文章细节满满,细致到令人发指。

SQL Server跟踪(Trace)--系统跟踪日志;从小白到大神,文章细节满满,细致到令人发指。

橙-极纪元-JJYCheng 1756

什么是trace系统?

Trace系统,也常被称为分布式追踪系统,是一种用于监控、分析和优化复杂分布式系统(如微服务架构)中服务调用的工具。随着现代应用程序向微服务架构的转变,一个用户请求可能需要跨越多个服务来完成。这种架构带来了更好的可扩展性和灵活性,但同时也使得监控和故障排查变得更加复杂。Trace系统通过提供请求的完整生命周期视图,帮助开发者和运维人员理解服务之间是如何相互作用的,从而快速定位问题所在。

不才的专栏 3305

trace 工具的介绍和使用

Trace 主要用来跟踪和记录系统的内核(Kernel)、内核扩展程序(Kernel Extension)和用户程序 (User Program),尤其是对系统调用(System Call),内核服务(Kernel Service)和中断处理(Interrupt handlers)进行详细的记录。

追踪(trace)系统框架设计的思考

开发过稍微大一点的soa服务系统的程序员都听说过trace系统(但真正从零开始设计的人,我个人认为很少)。为什么需要trace呢?

snoopy 6221

多台树莓派(主机)通信

在做无人机实验时,有个任务需要 两台无人机 或 无人机与小车 进行通信。 由于我们飞机上用了树莓派,相当于一台电脑,索性选用Socket网络编程。 条件:树莓派、局域网(手机热点或路由器)。需要通信的两台树莓派接入同一个局域网。 如若现场没有网络,可将树莓派配置为无线路由器,发射wifi。网上很多教程,注意一点是树莓派需要先用网线接入路由器再配置。 发送数据: # -*- coding...

LNL_LNL的博客 7685

WorkBuddy 集成 飞书CLI,全程10分钟,丝滑无比,老板要注意了...

飞书CLI实测:10分钟实现AI操控飞书办公 飞书CLI作为命令行工具,让用户通过简单命令完成飞书各项操作。本文记录了从安装到使用的完整过程:一键安装仅需10分钟,支持200多条命令覆盖飞书全部功能,与AI结合后可实现自然语言办公。实测中成功用语音指令创建了7天发文计划日程,验证了其便捷性。虽然首次认证存在超时问题,但整体体验流畅。该工具将复杂操作简化为自然语言指令,大幅提升办公效率,特别适合需要频繁使用飞书的用户。后续还将探索更多自动化办公场景。

三棱球的专栏 1142

19 | 端到端Trace:消息收发链路的监控体系搭建

前面的大部分课程,基本都是围绕“如何开发和设计一个 IM 系统”的技术点,来进行分析和讲解的,但在实际项目的工程落地实践中,IM 系统的监控和保障也是极其重要的一环。只有通过对消息收发链路的监控,我们才能够实时地了解到链路是否可用,后端服务是否足够健康;如果监控体系不够完善,我们的业务即使上线了,也是处于“蒙眼狂奔”的状态。所以,我们要在工程上线时有一个“”的意识和原则。今天,我们就一起来聊一聊,消息收发链路中监控体系搭建的问题。

qq_37756660的博客 1654

F5 Shape逆向工程实战:从美西南航空到xbk的风控突破

本文以美西南航空和xbk为例,深入剖析了F5 Shape风控系统的逆向工程实战。文章拆解了其核心防线,包括通信加密、JSVMP逆向分析和无孔不入的环境指纹检测,并分享了定位Header生成入口、模拟算法输出及构建真实浏览器环境的系统性方法与思路,为合规的技术研究与测试提供参考。

weixin_29327525的博客 1386

Android系统Trace概览

系统跟踪概览 “系统跟踪”就是记录短时间内的设备活动。系统跟踪会生成跟踪文件,该文件可用于生成系统报告。此报告可帮助您了解如何最有效地提升应用或游戏的性能。 Android 平台提供了多种不同的跟踪信息获取途径: Android Studio CPU 性能剖析器 “系统跟踪”应用 Systrace 命令行工具 Perfetto 命令行工具 在您与应用交互时,Android Studio CPU 性能剖析器可实时检查应用的 CPU 使用率和线程活动。您还可以检查方法跟踪记录、函数跟踪记录和系统跟踪记录中的

垮掉的一代人的专栏 7216

MATLAB射线追踪算法实战:从零搭建通信信号传播模型(附完整代码)

本文提供了一份详细的MATLAB射线追踪算法实战指南,指导读者从零开始搭建通信信号传播模型。内容涵盖场景建模、射线发射、路径追踪与信号计算等核心环节,并附有完整代码,帮助通信与电子工程领域的学习者和工程师快速掌握这一精确模拟电磁波传播的关键技术。

weixin_29092031的博客 196

IPMItool 控制风扇转速

然后手动设置风扇,最后一位0x1e为设置30%的转速(16进制)。最后4位 0x0f 表示15%,0x0a,表示10%,不建议小于10%,因为10%已经很静音了 如果再小怕不能控温,烧毁硬件。首先停止服务器的自动风扇控制,最后一位0x00表示停止自动风扇控制,0x01为开启自动风扇控制。首先开启主板上的ipmi 设置好 用户名密码。此过程可以在网上搜索,有很多的资料可以参考。解压只有在目录里面有ipmltool。下面是一些常用的修改温度命令。

m0_37970303的博客 5055

openvela之Trace系统

Trace系统是用于跟踪系统活动的工具,能够捕获内核、用户程序的关键行为(如任务调度、中断处理、系统调用等),以微秒级精度记录事件。系统通过关键点插桩收集数据,支持多种事件类型和图形化分析。 配置方面,需开启CONFIG_SCHED_INSTRUMENTATION等核心选项,并选择跟踪事件类型(任务调度、中断处理等)。系统提供纳秒级时间精度,支持自定义Trace Buffer和多种数据分发渠道。 使用上,开发者可通过内核打点函数(如sched_note_start)和自定义API(如sched_note_p

RIVOTEK_OPENVELA的博客 1054

STM32入门教程:WiFi通信

第四步:初始化串口 在生成的代码中,您可以找到一个名为 "USARTx_Init" 的函数,其中 "x" 是您选择的串口号。然后,我们使用 "AT+CIPSEND" 命令发送UDP数据,接收到服务器的回复,并在终端上显示收到的数据。在配置向导中,您可以选择启用USART串口功能,并根据您的硬件连接,将串口设置为与WiFi模块连接的串口。在上述代码中,我们使用了 "HAL_UART_Receive" 函数来接收串口数据,并使用 printf 来在终端上显示收到的数据。如果有任何问题,请随时向我提问。

2401_85258012的博客 1073

基于trace及其聚合的链路系统 高可用治理

父文章 如何成为一名架构师,架构师成长之路_个人渣记录仅为自己搜索用的博客-优快云博客_golang架构师成长之路 有了trace系统后,就可以根据系统,入参维度等绘制出 链路和依赖. 还可以自定义场景,基于requet参数. 或者聚合到订单量少. 链路重构的时候, 上游系统切流, 下游系统迁移的时候就很方便,反推出注意事项.基于这些可以做很多事情 1. 技术风险巡检. 容量,流量,水位异动自动化预警,基于之前的增长速率 2. 叠加新的业务标识及其比例,及其流量去计算容量预警 2. 强弱依赖自动

fei33423的专栏 659

【定位模块项目实战】gnss_localizer、lidar_localizer功能包解析

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、1.2.3.4.二、1.2.3.4.三、1.2.3.4.四、1.2.3.4.总结参考资料 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对**【无人驾驶autoware项目实战】感知–定位模块**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、 1. 2. 3. 4. . . 二、

qq_35635374的博客 1931

点云从入门到精通技术详解100篇-基于点云语义分割的电力线提取及聚类研究

在现代社会,电力一直扮演着最重要的角色之一。它不仅与人民的生活息息相关,更是一个国家发展的命脉。近年来,随着我国各特高压输电线路建成(比如2022年1月份白鹤滩江苏特高压输电线路的放线)以及电网规模的不断扩大,我国年发电量稳步上升,人民的生活水平越来越高。我国土地辽阔,输电线路分布广泛,再加上地形环境复杂多样,电力线可能遭受风吹雨晒甚至是冰雪寒灾的影响。因此,为了保障电力线的可靠供电,防止停电意外发生,电力部门要定期对输电线路进行检查。目前我国主要。

getusushu的博客 1010

ftrace系统实现原理

ftrace 首先trace是跟踪的意思,通常被运维或者性能优化的同学使用,用来跟踪系统的状态,从用户态程序到内核中的trace. 和trace相似的有profile(剖析),profile通常是周期性查询cpu上的当前指令地址,而trace通常是在执行路径上埋桩,执行过程中输出采集。 ftrace是function trace的简称,linux中trace的代名词,代表的是一个trace体系框架...

faxiang1230的专栏 4487

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Trace 在多线程异步体系下传递最佳实践

JAVA 线程异步常见的实现方式有: - `new Thread` - `ExecutorService` 当然还有其他的,比如`fork-join`,这些下文会有提及,下面主要针对这两种场景结合 DDTrace 和 Springboot 下进行实践。

liurui_wuhan的专栏 1469

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

linux trace机制分析 - 1.总述

本系列文章会综合分析linux trace技术。以下是文章的主要框架: 总述 ftrace-Function Tracer分析 使用ftrace hook函数 kprobe分析 基于kprobe的event trace 基于uprobe的event trace 使用kernel tracepoint event tracing 子系统trace point-kmem 引导阶段trace ......

BaiTianio的博客 3141

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Trace 在多线程异步体系下传递

异步编程基础​异步编程是一种编程模式,用于处理多线程异步体系下的任务传递和执行。​通常情况下,传统的同步编程,任务按照顺序依次执行,直到完成才能进行下一个任务。​在多线程异步体系下,任务可以并行执行,无需按照顺序等待前一个任务完成后才能执行下一个任务。​异步编程可以提高程序的性能和响应速度,使程序能够更好地处理并发任务。​在异步编程中,任务的执行是非阻塞的,即任务可以在后台执行,主线程不需要等待任务完成。​异步编程中常用的技术包括回调函数、Promise、async/await等。​。

841

trace系列0 - 概述

1.前言 本文主要是根据阅码场 《Linux内核tracers的实现原理与应用》视频课程在aarch64上的实践。这是整个系列文章的第一篇,本篇主要解决如下几个问题: ftrace是什么? ftrace框架包含哪些tracer? 这些tracer的基本使用方法有哪些? kernel版本:5.10 平台:arm64 2. ftrace是什么? ftrace是一个内核跟踪工具,旨在帮助系统开发人员和设计人员了解内核内部的情况。从2008年由Steven Rostedt 开发并在合并到2.6.27主线内核,

HZero 2006

探索 Trace:一款强大的日志追踪系统

探索 Trace:一款强大的日志追踪系统 项目简介 是一个开源的日志追踪解决方案,它旨在帮助开发者在复杂的分布式系统中定位和解决错误,提高调试效率。此项目基于现代微服务架构设计,提供实时、全链路的追踪能力,让应用性能监控变得简单且直观。 技术分析 架构设计 Trace 使用了典型的客户端-服务器模式,其中客户端库(SDK)集成到你的应用程序中,负责收集和发送追踪信息。服务器端接收这些数据并进行存储...

gitblog_00057的博客 808

百亿级实时计算系统性能优化–—Elasticsearch篇

导语 | 随着业务的发展,系统日益复杂,功能愈发强大,用户数量级不断增多,设备cpu、io、带宽、成本逐渐增加,当发展到某个量级时,这些因素会导致系统变得臃肿不堪,服务质量难以保障,系统...

QcloudCommunity的博客 3743

系统架构设计——服务追踪设计

在一体化架构中,单次请求的所有的耗时日志,都被记录在一台服务器上,而在微服务的场景下,单次请求可能跨越多个 RPC 服务,这就造成了,单次的请求的日志会分布在多个服务器上。于是,你给你的代码增加了大量的日志,来排查下单操作缓慢的问题。首先,A 服务在发起 RPC 请求服务 B 前,先从线程上下文中获取当前的 traceId 和 spanId,然后,依据上面的逻辑生成本次 RPC 调用的 spanId,再将 spanId 和 traceId 序列化后,装配到请求体中,发送给服务方 B。

庄小焱 2775

日志框架体系整理( 基础 )

0、前言 本篇博客的初衷是为了特定的人弄的,这些内容在网上都可以找到原文,因此:这篇博客只是保证能够让特定的人看懂,其他人看得懂就看,看不懂拉倒,同时,这篇博客中细节说明没有、运行截图没有、特别备注没有...... 1、JUL 指的是Java Util Logging包,它是java原生的日志框架,使用时不需要另外引用第三方的类库,相对其他的框架使用方便,学习简单,主要是使用在小型应用中 1.1、JUL的组成结构 Logger:被称为记录器,应用程序通过获取Logger对象,抵用其API来发布

m0_69860228的博客 990

从零到日志采集索引可视化、监控报警、rpc trace跟踪-架构介绍

接下去的几篇博客将介绍如何从零开发出一套集零侵入的日志采集、日志索引及可视化、基于日志监控报警、基于日志rpc trace跟踪进行系统性能分析的系统,之后都会称为监控中心系统。经测试,该系统的采集以及处理延迟在2秒以内,基本上做到了实时,其中日志采集模块在3台pc机器上测试下来大概每秒能够索引2.5w左右的日志,并且能够随着机器的增加性能水平扩展,每秒能够有效得处理50w+条的日志。 本篇作为第

Cumu Blog 7761
上一篇: 干货 | JuiceFS 在携程海量冷数据场景下的实践
下一篇: 干货 | 携程小程序生态之Taro跨端解决方案
携程技术
博客等级 码龄10年 3715粉丝 324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值