主流时序数据库深度对比:TDengine、InfluxDB与IoTDB的技术特性、性能及选型考量
目录
引言
一、 核心架构与技术特性对比
1.1、 TDengine:面向物联网的特定优化
1.2. InfluxDB:成熟的通用时序平台
1.3. Apache IoTDB:面向工业场景的精细化设计
二、 核心性能指标对比分析
2.1、写入性能
2.2、查询性能
三、 关键技术选型考量
3.1、数据模型与场景匹配
3.2、乱序数据处理能力
3.3、查询语言与生态集成
3.4、运维复杂度与企业级特性
四、 总结与选型建议
引言
随着物联网(IoT)、工业互联网(IIoT)和金融科技等领域的指数级增长,时序数据(Time-Series Data)已成为驱动洞察和决策的关键要素。时序数据库(TSDB)作为专门处理这类数据的核心基础设施,其性能、效率和架构设计直接影响着应用的实时性和成本效益。本文旨在深入剖析三款备受关注的时序数据库:TDengine、InfluxDB 和 Apache IoTDB。我们将对比它们的核心架构与技术创新,基于公开基准测试数据分析其性能表现,并结合实际应用场景和技术选型中的关键考量因素,提供一个客观、平衡且富有洞见的比较,以帮助技术决策者做出更明智的选择。
一、 核心架构与技术特性对比
每款数据库都围绕时序数据的特性(时间戳相关、高吞吐写入、范围查询为主)构建了其独特的架构。
1.1、 TDengine:面向物联网的特定优化
-
数据模型:“一个设备一张表”与超级表(STable): TDengine 的核心创新之一是其数据模型。它为每个数据采集点(如传感器)创建独立的子表,并通过“超级表”(STable)作为模板来统一管理同类设备。STable 定义了数据结构,子表继承结构并附加设备特有的标签(Tags)。
-
优势: 理论上,这种设计能最短化单设备写入路径,减少锁竞争;数据按设备物理聚合,有利于单设备的时间范围查询。
-
潜在挑战: 管理海量子表(可能达亿级)会带来显著的元数据开销和管理复杂性;STable 的模式变更(DDL)可能涉及大量子表,在高并发下存在锁风险和性能影响。其“独创性”也存在争议,因其与 InfluxDB 等通过标签区分序列的思路有相似之处,主要差异在于显式子表实现。
-
-
存储引擎:VNode、列式存储与压缩: TDengine 采用列式存储格式,并将数据按时间分区存储在虚拟节点(VNode)中。VNode 是存储、资源分配和复制的基本单元。结合 Delta-of-delta、游程编码、LZ4/ZSTD 等自适应压缩算法,声称可实现高压缩比(如原始大小的 1/10)。
-
优势: 列式存储利于压缩和分析查询;时间分区便于数据生命周期管理。
-
需注意: 压缩比高度依赖数据类型和规律性,对非规整数据效果会打折扣;与许多系统一样,可能存在写入放大;处理严重乱序数据的效率可能不如专门优化的系统。
-
1.2. InfluxDB:成熟的通用时序平台
-
数据模型:Measurement、Tags 与 Fields: InfluxDB 采用相对扁平化的模型,数据点由时间戳(Timestamp)、测量(Measurement)、标签集(Tag Set)和字段集(Field Set)组成。Tags 是索引元数据,Fields 是实际数值。
-
优势: 模型灵活通用,易于理解;生态成熟,应用广泛。
-
考量: 在极高基数(大量唯一 Tag 组合)场景下,索引管理曾是挑战(后续版本如 TSI 索引有所改进)。
-
-
存储引擎:TSM Engine: InfluxDB 使用基于类 LSM 树思想的 TSM(Time-Structured Merge tree)引擎,优化时序数据的写入和查询。
-
查询语言:InfluxQL 与 Flux: 提供了类 SQL 的 InfluxQL 和功能更强大的流式数据脚本语言 Flux,支持复杂的分析和转换。
1.3. Apache IoTDB:面向工业场景的精细化设计
-
数据模型:基于树的模式 (Tree-based Schema): IoTDB 采用独特的树状模型组织元数据和设备,这更贴合许多工业场景中设备按层级管理的实际情况。
-
优势: 模型与工业设备拓扑天然匹配,管理直观;支持模板化定义设备,简化大规模部署。
-
-
存储引擎与文件格式:TsFile: 自研的时序数据文件格式 TsFile 是其核心之一。它结合了列式存储、数据编码和预计算聚合等技术,旨在实现极高的压缩比和查询效率。声称无损压缩比可达 10 倍以上,甚至对特定数据类型可达 100 倍。
-
优势: 极高的存储效率,显著降低成本;文件格式设计利于查询优化。
-
-
乱序数据处理: IoTDB 特别强调其对乱序数据的处理能力,设计了顺乱序数据分离存储和高效合并策略,声称处理效率远超竞品。这对于网络不稳定的物联网和工业场景至关重要。
-
轻量级与边云协同: 设计上注重轻量化,易于在边缘端部署,并支持与云端协同工作。
二、 核心性能指标对比分析
性能是衡量 TSDB 的关键维度,但必须结合具体场景和测试条件解读。以下基于公开的 TSBS(Time Series Benchmark Suite)基准测试和其他来源信息进行对比:
2.1、写入性能
-
TDengine: 在多个 TSBS 场景中,尤其是在高基数、大数据量下,TDengine 的写入性能通常显著领先于 InfluxDB 和 TimescaleDB(后者未在此详细对比),报告称最高可达数倍甚至十数倍。
-
IoTDB: 报告称其写入吞吐量相比竞品有 2-3 倍提升,在高频写入场景表现突出。
-
关键考量: 写入性能受数据顺序性、基数、批处理大小、硬件配置和网络等多种因素影响。TDengine 对顺序写入优化较多,而 IoTDB 对乱序处理有特别设计。
2.2、查询性能
-
TDengine: 在某些复杂查询场景(如 TSBS 中的多维度聚合)中,TDengine 的查询速度据称可达 InfluxDB 的数十倍。但其查询过程 CPU 使用率可能相对较高,不过因总时间短,整体资源消耗可能更低。
-
IoTDB: 报告称其查询吞吐量有 2-10 倍提升,并在 benchANT 等第三方基准测试中表现优异。其树状模型和 TsFile 格式可能有助于特定类型的查询。
-
关键考量: 查询性能高度依赖查询类型(简单范围扫描 vs 复杂聚合 vs 高基数过滤)、数据模型和索引策略。没有数据库能在所有查询类型上都最优。
-
存储效率:
-
TDengine: 相较于 InfluxDB(特定版本和配置),TDengine 通常展现出更高的压缩率,存储占用更低。
-
IoTDB: 凭借 TsFile 格式,IoTDB 声称拥有极高的压缩比(无损 10 倍以上,特定情况更高),在存储成本控制上具有显著优势。
-
关键考量: 实际压缩比依赖数据特性。需要关注无损压缩与可能有损压缩(如降采样)的区别。
-
三、 关键技术选型考量
选择合适的 TSDB 不仅仅是看性能跑分,更要结合具体需求:
3.1、数据模型与场景匹配
-
TDengine: “一个设备一张表”+STable 模型非常适合设备数量庞大、结构相对统一的物联网场景,能简化管理并优化单设备操作。
-
IoTDB: 树状模型天然契合具有层级关系的工业设备管理,如工厂车间、电力网络等。
-
InfluxDB: 灵活的标签-值模型适用性广,适合结构变化较多或非严格层级的场景。
3.2、乱序数据处理能力
-
IoTDB: 明确将高效处理乱序数据作为核心优势,适用于网络不稳定、数据延迟到达普遍的场景。
-
TDengine: 对顺序写入优化更好,处理严重乱序数据可能效率降低或配置更复杂。
-
InfluxDB: 对乱序数据有处理机制,但可能不如 IoTDB 针对性优化得好。
3.3、查询语言与生态集成
-
TDengine: 提供类 SQL 接口,降低学习门槛,并有多种连接器。
-
InfluxDB: InfluxQL 类 SQL,Flux 功能强大但学习曲线稍陡,生态系统非常成熟。
-
IoTDB: 支持类 SQL,并计划通过集成 Calcite 支持标准 SQL。协议友好,与 Hadoop/Spark 等大数据生态集成度高。
3.4、运维复杂度与企业级特性
-
TDengine/IoTDB: 作为分布式系统,集群管理(元数据、负载均衡、扩缩容)都有一定复杂性。需要评估其高可用、备份恢复、安全权限、多租户等企业级特性的成熟度。
-
InfluxDB: 相对成熟,但分布式版本(企业版或 Cloud)也有其运维考量。
-
总体拥有成本 (TCO): 不仅要看硬件和存储节省,还必须考虑 软件授权费用(TDengine 和 IoTDB 都有企业版)、迁移成本、运维人力成本 和 学习成本。不能简单地用硬件节省来等同于总成本降低。
四、 总结与选型建议
TDengine、InfluxDB 和 Apache IoTDB 都是优秀的时序数据库,各自在不同维度展现出优势,也存在各自的权衡。
-
TDengine: 凭借其面向物联网优化的数据模型和存储设计,在 设备量巨大、数据写入较为有序、关注单设备查询性能和存储成本 的大规模物联网、车联网、工业监控等场景下,具有很强的竞争力。
-
Apache IoTDB: 其独特的树状模型和强大的乱序数据处理能力,使其特别适合 设备具有层级关系、网络环境复杂、数据乱序到达常见 的工业自动化、能源电力、航空航天等领域。其高压缩率也是显著优势。
-
InfluxDB: 作为市场上的成熟玩家,其 通用性强、生态完善、社区活跃,适用于 中小规模、快速部署、对特定模型无强偏好 的多种场景,包括 DevOps 监控、应用性能管理等。
最终建议
-
场景优先: 深⼊理解业务需求和数据特性,选择与场景最匹配的数据库。
-
全面评估: 不仅看性能指标,还要评估易用性、可维护性、扩展性、社区支持和 TCO。
-
POC 验证: 强烈建议 在最终决策前,使用 真实的业务数据和工作负载 对候选数据库进行概念验证(POC)测试,以获取最贴合实际的性能和行为表现。
没有“最好”的数据库,只有“最适合”的数据库。通过客观分析、审慎评估和实际测试,企业才能找到能够支撑其业务发展的最佳时序数据解决方案。
相关文章:
主流时序数据库深度对比:TDengine、InfluxDB与IoTDB的技术特性、性能及选型考量
目录 引言 一、 核心架构与技术特性对比 1.1、 TDengine:面向物联网的特定优化 1.2. InfluxDB:成熟的通用时序平台 1.3. Apache IoTDB:面向工业场景的精细化设计 二、 核心性能指标对比分析 2.1、写入性能 2.2、查询性能 三、 关键技…...
使用人工智能大模型腾讯元宝,如何免费快速做高质量的新闻稿?
今天我们学习使用人工智能大模型腾讯元宝,如何免费快速做高质量的新闻稿? 手把手学习视频地址:https://edu.csdn.net/learn/40402/666431 第一步在腾讯元宝对话框中输入如何协助老师做新闻稿,通过提问,我们了解了老师…...
国产Linux系统统信安装redis教程步骤
系统环境 uname -a Linux FlencherHU-PC 6.12.9-amd64-desktop-rolling #23.01.01.18 SMP PREEMPT_DYNAMIC Fri Jan 10 18:29:31 CST 2025 x86_64 GNU/Linux官网下载源码包并解压 下载链接 https://download.redis.io/releases/redis-7.0.15.tar.gz?_gl11h424d3_gcl_au*ODQ5…...
leetcode590 N叉树的后序遍历
前序遍历 的顺序是:根 → 子节点1 → 子节点2 → ... → 子节点N 后序遍历 的顺序是:子节点1 → 子节点2 → ... → 子节点N → 根 首先一个办法就是前序遍历结果进行翻转 在 迭代法 实现 后序遍历 时,如果采用 前序遍历 反转 的方式&…...
docker desktop 的安装和使用
一、Docker Desktop 是什么? Docker Desktop 是一款专为开发者设计的工具,可以在本地计算机(Windows/macOS)上快速运行和管理容器(Container)环境。以下是核心功能: 核心特点说明容器化开发基于…...
QCustomPlot频谱图
使用QCutomPlot做的读取txt文件显示频谱图的demo,帮助大家了解QCustomPlot的基本使用 1.运行结果 demo比较简单,用于文件读取,鼠标放大缩小,右键截图等基础功能. 2.绘图详解 绘图核心是将类提升为QCustomPlot之后进行重绘,重绘之前设计图表曲线,图标标题,坐标轴,坐标轴范围,背…...
Python 和 JavaScript两种语言的相似部分-由DeepSeek产生
Python 和 JavaScript 作为两种流行的编程语言,虽然在设计目标和应用场景上有差异(Python 偏向后端和脚本,JavaScript 偏向前端和动态交互),但它们的语法存在许多相似之处。以下是两者在语法上的主要共同点及对比&…...
记一次 .NET某云HIS系统 CPU爆高分析
一:背景 1. 讲故事 年前有位朋友找到我,说他们的系统会偶发性的CPU爆高,有时候是爆高几十秒,有时候高达一分多钟,自己有一点分析基础,但还是没找到原因,让我帮忙看下怎么回事? 二&…...
ESP32开发入门:基于VSCode+PlatformIO环境搭建指南
前言 ESP32作为一款功能强大的物联网开发芯片,结合PlatformIO这一现代化嵌入式开发平台,可以大幅提升开发效率。本文将详细介绍如何在VSCode中搭建ESP32开发环境,并分享实用开发技巧。 一、环境安装(Windows/macOS/Linux…...
在 macOS 上设置来电自启动
在 macOS 中,系统本身并不支持直接通过“接上电源适配器”自动开机(此功能涉及硬件底层控制)。但针对 Intel 处理器的 Mac 机型,可以通过以下方法间接实现类似效果。对于 Apple Silicon(M1/M2/M3)芯片的 Ma…...
【技术】Ruby 生态概念速查表,通过对比nodejs生态(入门)
以下是 Ruby 生态 对应概念的速查表,并使用与 Node.js 生态 对比的方式来参照,涵盖名称、作用(或解释)、简单用法、可能的替代方案,以及 Node.js 中最相似或可类比的工具(如果有的话)。有些工具…...
入门级宏基因组数据分析教程,从实验到分析与应用
宏基因组学彻底改变了研究人员对微生物群落的认识,微生物组不仅是环境组分,更作为共生体深刻影响着宿主的健康与功能。 鉴于微生物群落固有的复杂性及其所处环境的多样性,研究者进行一些宏基因组学研究时必须精心设计以获取能真实反映目标群体…...
解决 Vue 中 input 输入框被赋值后,无法再修改和编辑的问题
目录 需求: 出现 BUG: Bug 代码复现 解决问题: 解决方法1: 解决方法2 关于 $set() 的补充: 需求: 前段时间,接到了一个需求:在选择框中选中某个下拉菜单时,对应的…...
聚划算!CNN-GRU、CNN、GRU三模型多变量回归预测
聚划算!CNN-GRU、CNN、GRU三模型多变量回归预测 目录 聚划算!CNN-GRU、CNN、GRU三模型多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 聚划算!CNN-GRU、CNN、GRU三模型多变量回归预测 (Matlab2023b 多输入单输出) 1.程…...
list的常见接口使用
今天,我们来讲解一下C关于STL标准库中的一个容器list的常见接口。 在我们之前c语言数据结构中,我们已经了解过了关于链表的知识点了,那么对于现在理解它也是相对来说比较容易的了。 数据结构--双向循环链表-CSDN博客 1. 定义与包含头文件 …...
5. 蓝桥公园
题目描述 小明喜欢观景,于是今天他来到了蓝桥公园。 已知公园有 N 个景点,景点和景点之间一共有 M 条道路。小明有 Q 个观景计划,每个计划包含一个起点 stst 和一个终点 eded,表示他想从 stst 去到 eded。但是小明的体力有限&am…...
零基础开始学习鸿蒙开发-智能家居APP离线版介绍
目录 1.我的小屋 2.查找设备 3.个人主页 前言 好久不发博文了,最近都忙于面试,忙于找工作,这段时间终于找到工作了。我对鸿蒙开发的激情依然没有减退,前几天做了一个鸿蒙的APP,现在给大家分享一下! 具体…...
你的 Linux 服务器连不上网?10 分钟入门网络故障排查
问题现象:服务器突然失去网络连接 当你兴冲冲地打开终端,准备开始一天的开发工作时,却发现服务器无法连接网络,ifconfig命令只能看到本地环回接口(lo)。这种突如其来的网络中断可能会让很多Linux新手感到手足无措。 别担心&…...
《Vue Router实战教程》20.路由懒加载
欢迎观看《Vue Router 实战(第4版)》视频课程 路由懒加载 当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件&am…...
JVM 之 String 引用机制解析:常量池、堆内存与 intern 方法
案例一: String s1 new String("1"); String s2 "1"; System.out.println(s1 s2);s1: 执行 new String("1"),JVM 首先在字符串常量池中查找或添加字面量 "1",然后在堆内存中新建一个内容为 &quo…...
如何在 Mac 上安装 Python
所有最新的 MacOS(从 macOS 12.3 开始)都预装了 Python 版本(通常是 Python 2.x),但它已经过时并且不再受支持。要充分利用 Python 的功能,您需要安装最新版本的 Python。 本文提供了分步教程,展…...
无锡东亭无人机培训机构电话
无锡东亭无人机培训机构电话,随着科技的迅猛发展,无人机逐渐走入我们的生活和工作领域,成为多种行业中不可或缺的工具。而在其广泛的应用中,如何正确、熟练地操控无人机成为了关键。因此,找到一家专业的无人机培训机构…...
WPS复制粘贴错误 ,文件未找到 mathpage.wll
文章目录 1.错误提示图片2.解决方案1.找到MathType.wll文件和MathType Commands 2016.dotm文件并复制2.找到wps安装地址并拷贝上述两个文件到指定目录 3.重启WPS 1.错误提示图片 2.解决方案 1.找到MathType.wll文件和MathType Commands 2016.dotm文件并复制 MathType.wll地址如…...
蓝桥杯单片机刷题——按键设置当前采集距离为距离参数
设计要求 驱动超声波传感器,启动距离测量功能,并将其结果显示到数码管上。 按键“S5”定义为参数按键,按下S5按键,设备自动将当前采集的距离数据作为距离参数; 若测量的距离数据超过距离参数,指示灯L1点亮ÿ…...
mybaties plus 更新null值进入数据库
(数据库一定要支持字段为null值) 问题: 假设我现在数据库里有一个值是1,这个字段允许为null。 目前我使用的是的mybaties plus,我希望将这个值更新weinull,如何操作? 提示:如果直接…...
VSCode优雅的使用debug
原始用法:(这里不使用) 配置launch.json,里面传入参数然后debug,这里我们通常需要传入的参数比较多,而且经常修改参数,直接去修改launch.json会比较麻烦,所以使用sh脚本比较方便。 {// Use IntelliSense to…...
优化你的 REST Assured 测试:设置默认主机与端口、GET 请求与断言
REST Assured 是一个功能强大的 Java 库,用于测试 RESTful Web 服务。它简化了 API 测试流程,提供了一整套用于高效验证响应的工具。在本篇博客中,我们将深入探讨几个核心概念,包括如何设置默认主机和端口、如何发起 GET 请求以及…...
JVM之String创建、拼接
一、字符串创建的两种方式 1. 字面量直接赋值 String s1 "a"; 过程: JVM 检查字符串常量池中是否存在 "a"。若存在,直接返回常量池中的引用。若不存在,在常量池中创建 "a",返回其引用。 特点&a…...
UE5 模仿生存建造类游戏创建的过程
一、大概流程如下 点击界面按钮生成Actor->移动鼠标Actor的位置随着鼠标移动移动->点击鼠标左键确定Actor的位置 使用了盒体检测GetWorld()->SweepSingleByChannel()函数检测是否发生碰撞通过 FCollisionQueryParams CollisionParams;CollisionParams.AddIgnoredAc…...
大模型在慢性髓细胞白血病(CML)初治成人患者诊疗中的应用研究
目录 一、引言 1.1 研究背景与意义 1.2 国内外研究现状 1.3 研究目的与内容 二、大模型技术与 CML 相关知识 2.1 大模型技术原理与特点 2.2 CML 的病理生理与诊疗现状 三、术前风险预测与手术方案制定 3.1 术前数据收集与预处理 3.2 大模型预测术前风险 3.3 根据预测…...
汽车性能的幕后保障:慧通测控电动尾翼综合力学测试浅析
在汽车性能不断追求极致的当下,电动尾翼已成为众多高性能车型以及部分新能源汽车提升空气动力学表现与操控稳定性的关键配置。从炫酷的超跑到注重续航与驾驶体验的新能源车,电动尾翼正逐渐崭露头角。它绝非仅仅是外观上的装饰,而是能在车辆行…...
动力电池自动点焊机:新能源汽车制造的智能焊接利器
在新能源汽车产业蓬勃发展的今天,动力电池作为其核心部件,其性能与安全性直接关系到整车的续航里程和使用寿命。而动力电池的制造过程中,焊接工艺是至关重要的一环。这时,动力电池自动点焊机便以其高效、精准、智能的特点…...
arm64架构的copy_from_user分析
文章目录 前言代码实现内核c代码copy_from_user_copy_from_userraw_copy_from_user 内核汇编代码copy_from_user.Scopy_template.S 汇编代码分析汇编简介标签.req伪指令.macro伪指令tbz指令neg指令str指令 copy_template.S分析 小结 前言 一谈到内核-用户空间的数据拷贝&#…...
【远程工具】1.1 时间处理设计与实现(datetime库lib.rs)
一、设计原理与决策 时间单位选择 采用**秒(s)**作为基准单位,基于以下考虑: 国际单位制(SI)基本时间单位 整数秒(i64)方案优势: 精确无误差(相比浮点数&am…...
【STM32】解读启动文件startup_stm32f10x_md.s
栈空间 栈(Stack):栈是一种后进先出(LIFO)的数据结构,用于存储函数调用时的局部变量、返回地址和寄存器的值。启动文件会定义栈的大小,并将栈指针初始化为栈顶地址。在函数调用时,…...
Redis下载稳定版本5.0.4
https://www.redis.net.cn/download/ Redis下载 Redis 版本号采用标准惯例:主版本号.副版本号.补丁级别,一个副版本号就标记为一个标准发行版本,例如 1.2,2.0,2.2,2.4,2.6,2.8,奇数的副版本号用来表示非标准版本,例如2.9.x发行版本是Redis 3.0标准版本的非标准发行版本…...
阿里云服务迁移实战: 02-服务器迁移
ECS 迁移 最简单的方式是 ECS 过户,不过这里有一些限制,如果原账号是个人账号,那么目标账号无限制。如果原账号是企业账号,则指定过户给相同实名认证的企业账号。 具体操作步骤可以参考官方文档 ECS过户 进行操作。 本文重点介绍…...
怎么解决CentOS上Zookeeper启动失败的问题
在 CentOS 上启动 Zookeeper 失败通常是由于配置错误、端口冲突、权限问题或 Java 环境配置问题导致的。我们可以逐步排查: 一、查看错误日志 Zookeeper 的日志目录一般在: /your-zookeeper-path/logs/zookeeper.out 或者: /your-zookeeper-p…...
《Vue3学习手记》
下面进入Vue3的学习,以下代码中都有很详细的注释,代码也比较清晰易懂: Vue3 index.html是入口文件 Vue3通过createApp函数创建一个应用实例 main.ts: // Vue3中通过createApp函数创建应用实例 // 引入createApp用于创建应用 import { crea…...
【Ubutun】 在Linux Yocto的基础上去适配4G模块
1)、完整解决流程总结 一. 固定4G模块的网络接口名 usb0(基于物理路径) # 创建UDEV规则文件 sudo vi /etc/udev/rules.d/10-4g-rename.rules添加内容: SUBSYSTEM"net", ACTION"add", ATTRS{busnum}"2&…...
达梦数据库-学习-15-大内存SQL相关视图介绍
目录 一、环境信息 二、介绍 三、数据字典表 1、V$MEM_POOL 2、V$SQL_STAT 3、V$SQL_STAT_HISTORY 4、V$LARGE_MEM_SQLS 5、V$SYSTEM_LARGE_MEM_SQLS 四、总结 一、环境信息 名称值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系统CentOS Linux release 7.9.2009 (Co…...
分治-归并系列一>翻转对
目录 题目:解析:策略一: 代码:策略二: 代码: 题目: 链接: link 这题和逆序对区别点就是,要找到前一个元素是后一个元素的2倍 先找到目标值再,继续堆排序 解析࿱…...
微服务面试题
五大组件 注册中心/配置中心 nacos 服务注册 服务启动时 将自己的id等信息发送给nacos 完成注册 服务发现 服务需要调用其他服务时 从nacos获取服务列表 交给负载均衡选择 服务监控 临时实例 由服务每隔一段时间注册中心发送信息 表示自己存活 若注册中心超过一定时间没有…...
高级java每日一道面试题-2025年3月31日-微服务篇[Nacos篇]-Nacos集群模式下的部署方案有哪些?
如果有遗漏,评论区告诉我进行补充 面试官: Nacos集群模式下的部署方案有哪些? 我回答: Nacos 集群模式下的部署方案详解 在 Java 高级面试中,Nacos 集群部署是考察候选人对分布式系统高可用性和扩展性理解的重要议题。以下是几种常见的 Nacos 集群部…...
3dmax的python通过普通的摄像头动捕表情
1、安装python 进入cdm,打python要能显示版本号 >>>(进入python提示符模式) import sys sys.path显示python的安装路径, 进入到python.exe的路径 在python目录中安装(ctrlz退出python交互模式) 2、pip install mediapipe…...
vue3+vite Cannot find module ‘@/XXXXXX‘ or its corresponding type declarations
在使用vue3vite 创建新的工程时会出现Connot find module /xxx错误,根本原因是vite 中没有配置跟目录别名导致的,可以在vite.config.ts 中增加如下配置 如果在tsconfig.json中增加 "compilerOptions": {"paths": {"/*": …...
vmware-exporter容器
vmware-exporter干嘛的,需要的都知道,不再赘述,如果你不了解,说明你也用不到,此文可略过。 如果你嫌自行部署比较麻烦,可移步https://download.csdn.net/download/qq_28608175/90595900下载容器打包文件&a…...
异形遮罩之QML中的 `OpacityMask` 实战
文章目录 🌧️ 传统实现的问题👉 效果图 🌈 使用 OpacityMask 的理想方案👉代码如下🎯 最终效果: ✨ 延伸应用🧠 总结 在 UI 设计中,经常希望实现一些“异形区域”拥有统一透明度或颜…...
代码随想录算法训练营Day27 | Leetcode 56. 合并区间、738.单调递增的数字、968.监控二叉树
代码随想录算法训练营Day27 | Leetcode 56.合并区间、738.单调递增的数字、968.监控二叉树 一、合并区间 相关题目:Leetcode56 文档讲解:Leetcode56 视频讲解:Leetcode56 1. Leetcode56. 合并区间 以数组 intervals 表示若干个区间的集合&am…...
【SQL】常见SQL 行列转换的方法汇总 - 精华版
【SQL】常见SQL 行列转换的方法汇总 - 精华版 一、引言二、SQL常见的行列转换对比1. 行转列 Pivoting1.1 CASE WHEN 聚合函数1.2 IF 聚合函数1.3 PIVOT操作符 2.列转行 Unpivoting2.1 UNION ALL2.2 EXPLODE函数(Hive/Spark&#…...