当前位置: 首页 > news >正文

SkyWalking链路追踪-技术文档首页

SkyWalking 文档中文版(社区提供) (skyapm.github.io)https://skyapm.github.io/document-cn-translation-of-skywalking/

SkyWalking-基本概念

SkyWalking链路追踪是一个用于分布式系统的性能监控工具,它帮助开发人员了解系统中各组件之间的调用关系和性能信息。通过追踪每个请求从一个组件到另一个组件的路径,SkyWalking可以提供实时的链路信息,包括请求的路径、耗时和错误信息等。

这个工具的基本概念是通过在分布式系统中的各个组件中插入Agent来追踪请求。这些Agent可以通过自动和手动的方式添加到各个组件中。一旦Agent被添加,它们会自动收集和发送关于请求的信息,然后将这些信息汇总到一个集中的位置进行分析和可视化展示。

SkyWalking链路追踪还提供了一些其他功能,例如性能指标的收集和展示、错误告警、拓展性和可扩展性等。这使得开发人员能够更好地理解系统的运行情况,发现潜在的性能问题,并及时进行调优和修复。

总的来说,SkyWalking链路追踪是一个有助于开发人员监控和优化分布式系统性能的工具,它提供了实时的链路信息和可视化展示,有助于提高系统的可靠性和性能。

SkyWalking-架构体系

SkyWalking的架构体系由以下几个核心组件组成:

  1. Collector(收集器):Collector是SkyWalking的核心组件之一,负责接收来自各个Agent的追踪数据,并将其存储到数据存储器中。Collector提供了一个统一的接口,通过这个接口可以获取链路追踪数据,以便进行后续的分析和展示。

  2. Storage(存储器):Storage负责接收Collector送来的追踪数据,并将其持久化存储。存储器可以使用各种类型的数据库,如关系型数据库、NoSQL数据库或分布式存储系统等。

  3. UI(用户界面):UI是SkyWalking提供的可视化界面,用于展示追踪数据的各种指标和图表。开发人员可以通过UI实时监控系统的性能,并查看请求的路径、耗时和异常信息等。

  4. Agent(代理):Agent是SkyWalking在分布式系统中用于追踪请求的关键组件。Agent被插入到各个组件中,通过自动或手动的方式与这些组件集成。Agent负责收集各个组件的性能指标和追踪数据,并将其发送给Collector进行处理。

  5. Probe/Instrumentation(探针/仪表):Probe/Instrumentation是用于追踪应用程序内部方法调用和性能的组件。通过在代码中插入探针或仪表,开发人员可以在应用程序内部收集更详细的性能指标,并将其发送给Agent进行处理。

这些组件相互协作,构成了SkyWalking的架构体系。它们共同工作,帮助开发人员实现对分布式系统的性能监控和优化。

工作原理

分布式链路追踪系统,链路的追踪大体流程如下:

  1. Agent 收集 Trace 数据。
  2. Agent 发送 Trace 数据给 Collector 。
  3. Collector 接收 Trace 数据。
  4. Collector 存储 Trace 数据到存储器,例如,数据库

解决问题

  • 服务链路过长或过于复杂,无法快速并准确的定位问题。
  • 业务链处理时间过长,无法确定是哪个环节存在的问题。
  • 如何梳理服务与服务之间的依赖关系?
  • 如何快速发现定位问题并找到对应的错误信息?

分布式链路追踪就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等。

链路追踪的主要功能:

  • 故障快速定位:可以通过调用链结合业务日志快速定位错误信息。
  • 链路性能可视化:各个阶段链路耗时,服务依赖关系可以通过可视化界面展示出来。
  • 链路分析:通过分析链路耗时、服务依赖关系可以得到用户的行为路径,汇总分析应用在很多业务场景。

该方案技术点

(1)Trace

Trace的含义比较直观,就是链路,指一个请求经过所有服务的路径,服务间经过的局部链路构成了一条完整的链路,其中每一条局部链路都用一个全局唯一的traceid来标识。

SkyWalking链路追踪中Trace概念以及Trace与span的关系_艺舟先生的博客-CSDN博客

(2)Span

Span用来表示上下层的父子关系,同一层级parent id相同,span id不同,span id从小到大表示请求的顺序。通过事先在日志中埋点,找出相同traceId的日志,再加上parent id和span id就可以将一条完整的请求调用链串联起来。

SkyWalking链路追踪中span全解_艺舟先生的博客-CSDN博客

(3)采样

由于每一个请求都会生成一个链路,为了减少性能消耗,避免存储资源的浪费,采集器并不会上报所有的span数据,而是使用采样的方式。举个例子,每秒有1000个请求访问系统,如果设置采样率为1/1000,那么只会上报一个请求到存储端。

SkyWalking链路追踪-Collector(收集器)_艺舟先生的博客-CSDN博客

SkyWalking链路追踪-Agent (代理人)_艺舟先生的博客-CSDN博客

(4)存储

链路中的span数据经过收集和上报后会集中存储在一个地方,常用的存储有Mysql,ElasticSearch, HBase, In-memory DB等。

配置SkyWalking的存储方式需要根据您的具体需求和系统架构来选择适合的存储方式。以下是一些常用的存储方式和配置方法:

  1. 存储到数据库:您可以将Trace数据存储到关系型数据库(如MySQL)或文档型数据库(如Elasticsearch)中。配置存储到数据库时,您需要提供数据库的连接信息和认证信息,并创建相应的表或索引用于存储Trace数据。您可以在Collector的配置文件中进行相应的参数设置。

  2. 存储到文件系统:您可以将Trace数据存储到本地文件系统或分布式文件系统(如Hadoop HDFS)中。配置存储到文件系统时,您需要指定存储路径和文件命名规则等配置参数。Collector会将Trace数据按照指定的格式写入到文件中,以供后续查询和分析。

  3. 存储到消息队列:您可以将Trace数据存储到消息队列(如Kafka、RabbitMQ)中。配置存储到消息队列时,您需要提供消息队列的连接信息和授权信息,并指定相应的主题或队列名称。Collector将Trace数据发送到消息队列中,供后续进行消费和处理。

  4. 存储到内存:如果您的系统对实时性要求很高,可以选择将Trace数据存储在内存中。Collector可以使用缓存、内存数据库等方式将Trace数据存储在内存中,并提供相应的查询接口或服务。这样,您可以在内存中进行高效的数据访问和查询。

同类型方案对比

目前有四种主流的链路追踪方案。

Cat优缺点

深度剖析开源分布式监控CAT - 美团技术团队

 Cat是一种常见的链路追踪系统,它具有以下优点和缺点,以及适用的场景:

优点:

  1. 实时性:Cat能够提供实时、低延迟的链路追踪数据,方便开发人员及时了解应用程序的运行情况。

  2. 轻量级:Cat采用了较轻量级的设计,对应用程序的性能影响较小,能够在生产环境中高效运行。

  3. 数据可视化:Cat提供了直观、易懂的可视化界面,能够以图表和图形的形式展示应用程序的调用链路、性能指标等信息。

  4. 集成性:Cat提供了丰富的API和语言支持,可以方便地集成到各种主流的编程语言和框架中,适用于多种应用环境。

缺点:

  1. 扩展性:Cat在处理大规模系统和高并发场景下的扩展性较差,可能会面临一些性能和稳定性的挑战。

  2. 功能有限:相比较其他链路追踪系统(如SkyWalking、Zipkin等),Cat的功能相对有限,更偏重于性能监测和数据展示。

适用场景:

  1. 性能监测和调优:Cat适用于对应用程序的性能进行监测和调优的场景。它能够提供实时的性能指标和调用链路信息,方便开发人员定位瓶颈和优化性能。

  2. 分布式系统:当应用程序拥有复杂的分布式架构和调用链路时,Cat可以帮助了解分布式系统的运行状态和调用关系,方便进行故障定位和监测。

  3. 实时监测:Cat对实时性要求较高,适用于需要实时监测和追踪应用程序的场景,能够及时发现问题并进行相应的处理。

Zipkin优缺点

OpenZipkin · A distributed tracing system

Zipkin是另一种常见的链路追踪系统,它具有以下优点和缺点,以及适用的场景:

优点:

  1. 分布式支持:Zipkin专注于分布式系统的链路追踪,能够准确地捕获和追踪分布式系统中各个服务之间的调用关系和性能指标。

  2. 协议和语言支持:Zipkin支持多种通信协议和编程语言,能够轻松集成到各种不同的服务架构中,例如HTTP、RPC等,并支持Java、Python、Go等多种编程语言。

  3. 高可用性:Zipkin的架构支持多节点部署,可以实现高可用性和容错性。多个Zipkin Collector实例之间可以进行数据同步和负载均衡,确保数据的可靠性和性能。

  4. 数据可视化:Zipkin提供直观的可视化界面,展示应用程序的调用链路、性能指标和异常情况。通过图表、时间线等方式,开发人员可以方便地了解应用程序的运行情况。

缺点:

  1. 数据存储:Zipkin默认使用的存储方式是基于关系型数据库,对一些大规模和高并发的系统可能会面临存储性能和扩展性的挑战。

  2. 配置和部署复杂性:相对于其他链路追踪系统,Zipkin的配置和部署相对复杂,需要一定的技术要求和经验才能正确配置和部署。

适用场景:

  1. 分布式系统:由于Zipkin专注于分布式系统的链路追踪,因此适用于拥有复杂的分布式架构和调用链路的应用程序。它能够帮助分析分布式系统中各个服务之间的调用关系和性能瓶颈。

  2. 跨语言和跨平台:如果您的应用程序由多个不同编程语言和平台组成,Zipkin能够提供跨语言和跨平台的链路追踪功能,方便对整个系统的性能进行监测和优化。

  3. 高可用和容错性:当系统对可用性和容错性要求较高时,Zipkin的多节点部署架构可以满足这些需求。多个Zipkin Collector实例可以共同接收和处理Trace数据,以提高系统的可靠性和性能。

SkyWalking优缺点

Apache SkyWalking

 SkyWalking是一种功能强大的开源链路追踪系统,它具有以下优点和缺点,并且适用于以下场景:

优点:

  1. 分布式支持:SkyWalking专注于分布式系统的链路追踪和性能监测,能够准确捕获和追踪分布式系统中各个服务之间的调用关系和性能指标。

  2. 数据采集和监测丰富性:SkyWalking支持多种数据采集方式,如自动代理、手动埋点、服务网格等,能够灵活地适应不同的应用场景。此外,SkyWalking还提供了丰富的可视化和监测功能,包括事务拓扑图、性能指标图表、报警等,方便开发人员进行系统监测和故障排查。

  3. 跨语言和跨平台:SkyWalking支持多种主流编程语言和平台,如Java、.NET、Node.js、Golang等,适用于各种不同的应用程序。通过SkyWalking的插件和扩展机制,可以轻松扩展和集成到不同的系统中。

  4. 存储和查询扩展性:SkyWalking通过支持多种存储后端,如Elasticsearch、MongoDB、MySQL等,以及通过分布式追踪数据压缩和数据分区等机制,能够支持大规模系统的链路追踪和性能监测。

缺点:

  1. 配置和部署复杂性:相对于其他链路追踪系统,SkyWalking在配置和部署方面可能需要更多的技术要求和经验。由于其功能强大和丰富性,需要花费一定的时间和精力来正确配置和部署。

  2. 学习曲线:对于新的用户来说,SkyWalking可能需要一定的学习曲线。了解其各种特性和功能需要耐心地学习和实践,并熟悉相关文档和资源。

适用场景:

  1. 大规模系统:SkyWalking适用于大规模分布式系统的链路追踪和性能监测。它能够提供实时、准确的调用关系和性能指标,方便定位和解决系统中的性能问题。

  2. 跨语言和跨平台:如果您的应用程序由多个不同编程语言和平台组成,SkyWalking能够提供跨语言和跨平台的链路追踪和性能监测功能,方便对整个系统的性能进行监测和优化。

  3. 数据存储和查询需求:当您对链路追踪数据的存储和查询需求较高时,SkyWalking能够提供丰富的存储和查询扩展性,以满足大规模系统的需求。

需要注意的是,选择适合的链路追踪系统需要根据您的具体需求和系统架构进行评估。如果您需要强大的分布式支持、丰富的数据采集和监测能力以及扩展性高的存储和查询功能,SkyWalking可能是一个很好的选择。

Pinpoint优缺点

Pinpoint首页、文档和下载 - 应用性能管理工具 - OSCHINA - 中文开源技术交流社区

Pinpoint是一种面向Java应用程序的分布式链路追踪系统,它具有以下优点和缺点,并且适用于以下场景:

优点:

  1. 对Java应用程序友好:Pinpoint专注于Java应用程序的链路追踪,提供了丰富的Java Agent和插件,能够轻松集成到Java应用程序中,并提供准确的调用链和性能指标。

  2. 实时监测和调优:Pinpoint能够实时监测和分析Java应用程序的调用链和性能指标,方便开发人员及时发现问题并进行调优。

  3. 数据可视化和分析:Pinpoint提供直观的可视化界面和强大的分析功能,能够以图表、时间线等形式展示应用程序的调用关系和性能数据,并提供多种分析工具和报告。

  4. 轻量级和低侵入性:Pinpoint的Agent对应用程序性能的影响较小,不会对应用程序的运行造成明显的性能损失,并且可以在生产环境中高效运行。

缺点:

  1. 适用范围有限:由于Pinpoint专注于Java应用程序,因此对其他编程语言和平台的支持有限,不适用于跨语言和跨平台的应用程序。

  2. 功能相对有限:相比较其他分布式链路追踪系统(如SkyWalking、Zipkin等),Pinpoint的功能相对有限,更偏重于Java应用程序的监测和调优。

适用场景:

  1. Java应用程序监测和调优:Pinpoint适用于需要对Java应用程序的调用链和性能进行监测和调优的场景。它能够提供实时的性能指标和调用链信息,方便开发人员定位性能瓶颈和优化应用程序。

  2. 实时监测和追踪:当您需要实时监测和追踪Java应用程序的运行状态和调用关系时,Pinpoint可以帮助您及时发现问题并进行相应的处理。

  3. Java应用程序分析和优化:Pinpoint提供强大的数据分析和报告功能,适用于对Java应用程序进行深入分析和优化的场景。

虽然Pinpoint在跨语言和功能丰富性方面有一定限制,但对于Java应用程序的监测和调优是一个不错的选择。在选择链路追踪系统时,请根据具体需求和系统架构进行评估,以找到最适合您的解决方案。

总结方案选用

选择适合的链路追踪系统需要根据以下要素进行评估:

  1. 需求和目标:明确您对链路追踪系统的需求,如是否需要分布式支持、跨语言能力、实时监测等。确定您希望通过链路追踪系统实现的目标,如性能优化、故障排查等。

  2. 系统架构:了解您的应用程序的架构,包括是否为分布式系统、所涉及的编程语言和平台等。根据系统的特点,选择支持相应需求和平台的链路追踪系统。

  3. 功能和扩展性:评估不同链路追踪系统的功能和扩展性。考虑是否需要特定的功能,如实时监测、数据可视化、报警等。同时,了解系统未来的扩展需求,确保所选系统能够满足这些需求。

  4. 配置和部署复杂性:考虑配置和部署链路追踪系统的复杂性。一些系统可能需要更多的技术要求和经验来正确配置和部署。确保您有足够的资源和能力来有效地使用所选系统。

  5. 社区和支持:查看链路追踪系统的社区活跃程度、文档和支持资源。了解系统的更新频率、Bug修复和功能改进的速度,以确保能够得到及时帮助和支持。

综合评估这些要素后,您可以选择适合您需求的链路追踪系统。例如,如果您的系统是分布式的、需要跨语言能力和强大的数据可视化,可考虑使用SkyWalking。如果您的系统是Java应用程序,需求较为简单,可考虑使用Pinpoint。选择一个适合的链路追踪系统将帮助您更好地监测、诊断和优化您的系统。

相关文章:

SkyWalking链路追踪-技术文档首页

SkyWalking 文档中文版(社区提供) (skyapm.github.io)https://skyapm.github.io/document-cn-translation-of-skywalking/ SkyWalking-基本概念 SkyWalking链路追踪是一个用于分布式系统的性能监控工具,它帮助开发人员了解系统中各组件之间…...

AndroidStudio Memory profiler(内存分析器)

1.Record Java/Kotlin allocations 查看java 层中对象的调用栈和短时间内创建对象的次数。可用于内存抖动快速分析,可用快速查找到该对象的调用栈(等同于mat) 从上图可见,短时间内创建了23个char[] 数组,其中最大的char[] 占用20k, 查看cll stack 调用…...

【C++模板进阶】

目录 一、模板使用时的一个小注意点二、非类型模板参数三、类模板的特化3.1函数模板的特化3.2类模板的特化3.2.1全特化3.2.2偏特化 四、模板的分离编译4.1模板不支持分离编译4.2模板分离编译报错的分析4.2解决方案 五、模板的总结 一、模板使用时的一个小注意点 在使用模板时&…...

(一)RabbitMQ概念-优势、劣势、应用场景 、AMQP、工作原理

Lison <dreamlison163.com>, v1.0.0, 2023.06.22 RabbitMQ概念-优势、劣势、应用场景 、AMQP、工作原理 文章目录 RabbitMQ概念-优势、劣势、应用场景 、AMQP、工作原理RabbitMQ概念RabbitMQ的优势RabbitMQ劣势RabbitMQ应用的场景RabbitMQ_AMQPRabbitMQ工作原理 RabbitM…...

JetBrains全家桶:如何自定义实现类TODO注释?

文章目录 效果图具体方法参考文献 效果图 TODO注释大家应该都用过&#xff0c;在注释开头打上TODO的话&#xff0c;软件下方的TODO选项卡里就可以自动筛选出你打了TODO的注释&#xff0c;你可以点击里面对应的注释来实现快速跳转。 jetbrains全家桶&#xff08;如Pycharm、Int…...

【技术干货】工业级BLE5.2蓝牙模块SKB378 使用教程,AT指令集

SKB378是一个高度集成的蓝牙5.2模组&#xff0c;可用来在2.4GHz ISM频段内做高速率、短距离无线通信。工业级标准&#xff0c;支持主从模式(1主对8从)&#xff0c;支持串口透传&#xff0c;AT指令控制&#xff0c;且支持AoA蓝牙高精度室内定位&#xff0c;模组内部集成32位ARM …...

零基础深度学习——学习笔记1 (逻辑回归)

前言 因为各种各样的原因要开始学习深度学习了&#xff0c;跟着吴恩达老师的深度学习视频&#xff0c;自己总结一些知识点&#xff0c;以及学习中遇到的一些问题&#xff0c;以便记录学习轨迹以及以后复习使用&#xff0c;为了便于自己理解&#xff0c;我会将一些知识点用以个…...

I want to know on what switchport is connected my computer (10.8.0.2)

i.e. I am connected to an L2. I want to know on what switchport is connected my computer (10.8.0.2) Well….obviously not on this switch. Let’s dig Now I have the MAC address of my computer, we confinue to dig Computer has been seen on interface g0/2. Let’…...

OpenCv之人脸操作

目录 一、马赛克实现 二、人脸马赛克 三、人脸检测 四、多张人脸检测 一、马赛克实现 案例代码如下: import cv2 import numpy as npimg cv2.imread(8.jpg) # 马赛克方式一:缩小图片 # img2 cv2.resize(img,(600,400)) # # 马赛克方式二: # img2 cv2.resize(img,(600,4…...

C++[第五章]--指针和引用

指针和引用 文章目录 指针和引用1、引用2、指针3、右值引用4、引用限定符const和引用限定符1、引用 引用就是别名,引用定义时必须初始化: int a; int &b=a; //b即为a的别名 如果不是形参,必须初始化,引用某一变量 2、指针 指针和c一样; this指针 在类的成员函数中使…...

用i18next使你的应用国际化-React

ref: https://www.i18next.com/ i18next是一个用JavaScript编写的国际化框架。 i18next为您提供了一个完整的解决方案&#xff0c;本地化您的产品从web端到移动端和桌面端。 在react项目中安i18next依赖&#xff1a; i18nextreact-i18nexti18next-browser-languagedetector&…...

TSN -促进IT/OT 融合的网络技术

时间敏感网络&#xff08;tsn&#xff09;技术是IT/OT 融合的一项关键的基础网络技术&#xff0c;它实现了在一个异构网络中&#xff0c;实现OT的实时数据和IT系统的交互数据的带宽共享。 TSN允许将经典的高确定性现场总线系统和IT应用&#xff08;如大数据传输&#xff09;的功…...

改进的北方苍鹰算法优化BP神经网络---回归+分类两种案例

今天采用前作者自行改进的一个算法---融合正余弦和折射反向学习的北方苍鹰(SCNGO)优化算法优化BP神经网络。 文章一次性讲解两种案例&#xff0c;回归与分类。回归案例中&#xff0c;作者选用了一个经典的股票数据。分类案例中&#xff0c;选用的是公用的UCI数据集。 BP神经网络…...

等保工作如何和企业创新业务发展相结合,实现“安全”和“创新”的火花碰撞?

等保工作如何和企业创新业务发展相结合&#xff0c;实现“安全”和“创新”的火花碰撞&#xff1f;在当今数字化浪潮的背景下&#xff0c;企业越来越需要在“安全”和“创新”之间找到平衡点&#xff0c;以实现业务的持续创新和安全的有效保障。等保工作可以为企业提供安全保障…...

23.7.25 杭电暑期多校3部分题解

1005 - Out of Control 题目大意 解题思路 code 1009 - Operation Hope 题意、思路待补 code #include <bits/stdc.h> using namespace std; const int N 1e5 9; struct lol {int x, id;} e[3][N * 2]; int t, n, a[3][N * 2], hd[3], tl[3], vis[N * 2], q[N * …...

【设计模式——学习笔记】23种设计模式——桥接模式Bridge(原理讲解+应用场景介绍+案例介绍+Java代码实现)

问题引入 现在对不同手机类型的不同品牌实现操作编程(比如:开机、关机、上网&#xff0c;打电话等)&#xff0c;如图 【对应类图】 【分析】 扩展性问题(类爆炸)&#xff0c;如果我们再增加手机的样式(旋转式)&#xff0c;就需要增加各个品牌手机的类&#xff0c;同样如果我们…...

文档翻译软件那么多,哪个能满足你的多语言需求?

想象一下&#xff0c;你手中拿着一份外文文件&#xff0c;上面记录着珍贵的知识和信息&#xff0c;但是语言的障碍让你无法领略其中的内容。而此时&#xff0c;一位翻译大师闪亮登场&#xff01;他的翻译技巧犹如一把魔法笔&#xff0c;能够将文字的魅力和意境完美传递。无论是…...

MySQL 中NULL和空值的区别

MySQL 中NULL和空值的区别&#xff1f; 简介NULL也就是在字段中存储NULL值&#xff0c;空值也就是字段中存储空字符(’’)。区别 1、空值不占空间&#xff0c;NULL值占空间。当字段不为NULL时&#xff0c;也可以插入空值。 2、当使用 IS NOT NULL 或者 IS NULL 时&#xff0…...

阿里云容器镜像仓库(ACR)的创建和使用

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

工业的相机与镜头(简单选型)

面阵相机&#xff0c;需要多大的分辨率&#xff1f;多少帧数&#xff1f; 前提条件&#xff1a; 1.被检测的物体大小 2.要求检测的精度是多少 3.物体是否在运动过程中进行检测&#xff0c;速度是多少 线阵相机选择(分辨率、扫描行数) 行频&#xff1a;每秒扫描多少行&#xf…...

numpy广播机制介绍

广播 广播机制的意义&#xff1a;广播描述了在算术运算期间NumPy如何处理具有不同形状的数组。受某些约束条件的限制&#xff0c;较小的数组会在较大的数组中“广播”&#xff0c;以便它们具有兼容的形状。 在对两个数组进行操作时&#xff0c;NumPy按元素对它们的形状进行比…...

RocketMQ 5.0 无状态实时性消费详解

作者&#xff1a;绍舒 背景 RocketMQ 5.0 版本引入了 Proxy 模块、无状态 pop 消费机制和 gRPC 协议等创新功能&#xff0c;同时还推出了一种全新的客户端类型&#xff1a;SimpleConsumer。 SimpleConsumer 客户端采用了无状态的 pop 机制&#xff0c;彻底解决了在客户端发布…...

本地 IDC 中的 K8s 集群如何以 Serverless 方式使用云上计算资源

作者&#xff1a;庄宇 在前一篇文章《应对突发流量&#xff0c;如何快速为自建 K8s 添加云上弹性能力》中&#xff0c;我们介绍了如何为 IDC 中 K8s 集群添加云上节点&#xff0c;应对业务流量的增长&#xff0c;通过多级弹性调度&#xff0c;灵活使用云上资源&#xff0c;并通…...

MySQL - 安装、连接、简单介绍

1、安装 MySQL8.0 安装MySQL 8.0的步骤&#xff0c;以 Windows 为例&#xff1a; 1.1 下载MySQL Installer&#xff1a; 需要从MySQL官方网站下载MySQL Installer。在下载页面中&#xff0c;选择适用于Windows的MySQL Installer并下载。 1.2 运行MySQL Installer&#xff1…...

【算法】求欧拉函数(包括完整的证明以及代码模板,建议收藏)

求欧拉函数 前置知识 互质&#xff1a;互质是公约数只有1的两个整数&#xff0c;叫做互质整数。 欧拉函数定义 1 ∼ N − 1 1∼N-1 1∼N−1中与N互质的数的个数被称为欧拉函数&#xff0c;记为 ϕ ( N ) \phi(N) ϕ(N)。 若在算数基本定理中&#xff0c; N p 1 a 1 p 2 a 2 .…...

Ceph的应用

文章目录 一、创建 CephFS 文件系统 MDS 接口1&#xff09;在管理节点创建 mds 服务2&#xff09;查看各个节点的 mds 服务3&#xff09;创建存储池&#xff0c;启用 ceph 文件系统4&#xff09;查看mds状态&#xff0c;一个up&#xff0c;其余两个待命&#xff0c;目前的工作的…...

mac m1 触控栏TouchBar功能栏异常

电脑可能在高温下运行时间过长&#xff0c;导致TouchBar之前正常显示的调整屏幕亮度与调整声音等功能的按钮均丢失&#xff0c;然后看了一眼键盘设置&#xff0c;设置也是正常的&#xff0c;已勾选显示功能栏 下面请看 如何在MacBook Pro&#xff08;macOS Monterey&#xff0…...

“奢侈品”价格的“快消品”,竹叶青这么想赚年轻人的“茶水钱”?

文 | 螳螂观察 作者 | 青月 或许是受养生焦虑的影响&#xff0c;这届年轻人似乎爱上了喝茶。 《抖音电商茶行业洞察报告》数据显示&#xff0c; 年轻客群已经成为了抖音电商茶行业的增长极&#xff0c;在茶叶、茶具、茶文化书籍等方面&#xff0c;18-30岁消费者是当之无愧消…...

【Matlab】基于随机森林算法的时间序列预测(Excel可直接替换数据)

【Matlab】基于随机森林算法的时间序列预测(Excel可直接替换数据) 1.模型原理2.数学公式3.文件结构4.Excel数据5.分块代码6.完整代码7.运行结果1.模型原理 基于随机森林算法的时间序列预测是一种利用随机森林模型来解决时间序列预测问题的方法。在传统的随机森林算法中,对于…...

vue 中断请求

1 背景&#xff1a;针对一些请求时间较长&#xff0c;组件销毁后即中断请求&#xff1b; 2 方法&#xff1a; data(){return {//用于取消请求abortController:new AbortController(), } }, created(){//请求接口this.groundAcquisition(); }, beforeDestroy(){//中断请求this.…...