0%

面临的问题

目前NAS挂载了7块硬盘,但是软raid的磁盘IO太高,换盘操作成本太高。在文件存储演进的今天,juiceFS的对象存储模式可以解决这个问题。

面临的问题

系统采用LVM逻辑卷管理,系统盘/数据盘均挂载在LVM卷组中。系统盘采用双500G硬盘,其中一个盘由于自身故障损坏,导致lvm逻辑卷无法加载,系统不可启动。

整理

1. 主要锁类型对比

锁类型特点适用场景
std::lock_guardRAII风格,构造时自动加锁,析构时自动解锁,不支持手动操作简单场景,锁的作用范围明确且不需要中途解锁
std::unique_lockRAII风格,支持手动加锁/解锁、延迟加锁、超时操作等需要灵活控制锁的场景,如条件变量等待
std::scoped_lock (C++17)可同时管理多个锁,自动处理锁的获取顺序以避免死锁需要同时获取多个锁的场景
std::shared_lock (C++17)std::shared_mutex配合使用,实现共享所有权读写分离场景,允许多个读者同时访问

2. 各类锁的基本用法

2.1 std::lock_guard

std::lock_guard是最简单的锁管理类,采用RAII模式,在构造时获取锁,在析构时释放锁,确保锁的正确释放。

学习目标

研究一下引擎的向量、标量查询以及混合查询的方案。并搞清楚混合查询的原理。

引擎名链接
ClickHouse待补充
Doris待补充
Milvus待补充
krypton待补充
CloudSearch待补充
LanceDB待补充
VikingDB待补充
Hbase待补充

向量查询,标量查询,混合查询

向量查询、标量查询、混合查询的核心区别在于 “查询对象的数据类型” 和 “匹配逻辑”—— 前两者针对单一数据类型(向量 / 标量),后者则结合两种类型实现更精准的检索。

日志AI助手

TLS Copilot是面向日志检索场景提升易用性的的AI agent。包括但不限于,text2sql,语句报错修改,文档问答等。 TLS Copilot采用基于ReAct架构演进的Multi-Agent架构设计,基于Eino框架开发实现。该架构通过一个中心分发者(HostAgent)和多个专业子Agent的组合模式,实现了系统功能的高度模块化和专业化,提高了系统的可维护性,使得功能扩展变得更加灵活。

日志分析系统中日志聚类的核心作用与价值

在日志分析系统(如 ELK Stack、Loki、Splunk 等)中,日志聚类是指通过算法将海量、无序的日志按“内容相似度”自动归类,把重复或高度相似的日志聚合为“日志簇”的过程。其核心价值在于解决“日志量爆炸”与“人工分析效率低”的矛盾,从“无序日志海洋”中提取结构化信息,为故障定位、异常检测、日志压缩提供关键支撑。以下从核心作用、典型应用场景、技术逻辑、实施价值四个维度展开解析:

一. 系统告警的分类

在云原生架构中,告警体系围绕全链路可观测性(Observability) 设计,覆盖从基础设施到业务层的全维度,远不止日志告警。核心可分为 基础设施告警容器与编排层告警应用层告警业务层告警安全告警 五大类,每类都对应云原生场景的核心监控目标(如稳定性、性能、资源利用率、安全合规等)。

日志告警背景

阿里支持策略配置,告警通知,告警历史查询,告警抑制,通知策略,开放告警等较多功能。 告警功能说明

日志服务告警功能主要包含以下功能组件:

  • 日志存储(Topic):日志服务提供Topic用于存储日志类型的数据,并在日志存储的基础上提供查询和分析(SQL92语法)功能。告警监控任务依赖于查询与分析功能。
  • 告警监控(Alert Monitoring):告警子系统,负责产生告警。告警监控系统由告警监控规则和资源数据等组成。
  • 告警管理(Alert Management):告警子系统,负责管理告警降噪和告警状态。告警管理系统由告警策略、告警事务管理和告警态势大盘等组成。
  • 通知管理(Action Management):告警子系统,负责管理告警的通知渠道和对象。通知组管理系统由行动策略、内容模板、日历、用户、用户组、值班组和渠道额度等组成。

日志告警关键流程

关键流程

一、流式数据处理简介

流式处理

 实际应用中,不断产生的事件需要快速得到响应。作为应用程序想要处理无限、并发产生的事件流,且不想每次收到事件后就记录事件的状态。但是实际应用场景中,应用程序实际上是需要维护这样的信息的。即,当应用程序收到新事件时,需要从事件中读取数据或改变事件的状态。所以,有状态的流处理应用程序,通常会从已经记录的时间日志中提取输入事件(存储和分发时间流)。历史写入的事件日志是以附加的形式(对,就是类似kafka)写入。总之,有状态的流式应用十分广泛,如事件驱动应用程序;数据管道应用程序及数据分析应用程序。
 事件驱动的应用程序通常会有日志来进行交互,通常交互节点本地保存本地状态,并不将相关状态写入到外部存储。事件日志通道通常将日志的发送者和接收者分离,并提供异步、非阻塞性的事件传输。同时事件日志提供了更好的性能,扩展性及容错性也大幅度提升。
  数据管道通常提供较低的延迟,来提取和插入数据。比如不通存储系统之间同步数据的任务(ETL任务)。
  流处理通常不是等待定期触发,而是连续地提取事件流,并通过纳入最新时间来更新其计算结果。具备实时的,精确的结果,同时支持调整计算资源。