干货 | 携程度假商品千亿日志系统架构演进

腾讯鹰眼系统的技术演进之路-千亿级实时日志分析系统 腾讯鹰眼系统的技术演进之路-千亿级实时日志分析系统腾讯鹰眼系统的技术演进之路-千亿级实时日志分析系统腾讯鹰眼系统的技术演进之路-千亿级实时日志分析系统 立即下载

作者简介

cd,携程资深后端开发工程师,度假商品系统研发,专注于后端系统性能提升。

团队热招岗位:资深后端开发/专家、资深后端开发-商品后台

在携程旅游度假的线路类商品系统中,由于商品结构复杂,涉及底层数据表上千张,在日常供应商以及业务维护过程中,每日产生6亿+的数据变动记录。这些数据的变动留痕,不但可供录入方查看,也对日常产研的排障起着至关重要的作用,同时也可以提供给BI做数据进一步分析。商品日志系统建设尤为重要,随着商品日志系统不断发展迭代,已经积累达到1700亿条日志。

本文将介绍线路商品日志系统的演进过程以及在其中遇到的问题。

  • 一、发展轨迹

  • 二、演进过程

  • 2.1 V1.0 DB单表存储

  • 2.2 V2.0 平台化

  • 2.3 V3.0赋能

  • 三、结语

一、发展轨迹

线路商品日志系统的发展大致可以分为以下三个阶段:

2019年以前:单表日志

在 2019 年以前,商品系统尚无统一的日志系统来记录商品的变更,在系统中使用DB日志表,该表以非结构化的方式记录商品基本信息的变动。

2020年~2022年:平台化

在系统改造过程中,建立统一的商品系统日志平台,通过配置的方式记录商品的数据变动日志,覆盖商品维护的全部流程。

2023年~2024年:开放

经过在线路商品系统的实践,商品系统日志平台经历百亿级数据的考验,并以灵活的配置方式记录数据变动日志,同时支持自定义索引字段,具有接入和使用成本较低的优势。为此,通过对商品系统日志进行改造,逐步向门票、用车等业务线开放使用。

二、演进过程

2.1 V1.0 DB单表存储

ccc0a8336f6dbbc0c4abd47527d58a39.png

在2019年以前,记录线路商品的变动日志较为简单,在DB中建立一张日志表(id,LogContent)来记录日志,数据变动以非结构化的文本记录在LogContent字段内,且仅覆盖商品最基本的信息,在使用时通过数据库查询工具执行sql语句like关键字进行查询,这种方式带来的问题也显而易见:

  • 数据量大,性能低

由于是单表文本字段存储,导致表的数量非常巨大,达到单表10亿+(370GB)的数据,查询超时问题严重,不得不进行定期归档。

  • 可读性差,仅开发人员使用

由于日志内容以文本字段存储,在进行日志查询时,一般由开发人员使用 like 语句直接查询 DB,例如:select id, LogContent from log where LogContent like '%1234%'。查询速度缓慢,严重影响日常排障流程。

  • 扩展性差

由于日志写入与业务代码强耦合,且采用非结构化存储。对于新增日志,需要对业务代码进行改动,在接入时存在一定的成本,且接入后无法直接提供给供应商或业务人员直接使用,最终仍需要开发人员进行查询转换。

2.2 V2.0 平台化

2.2.1 技术选型

针对 V1.0 遇到的问题,重点在于海量日志数据的存储与查询,业内解决海量日志数据存储与查询的方案一般有以下几个:

ES+Hbase

HBase 提供高并发的随机写和支持实时查询,是构建在 HDFS 基础上的 NoSql 数据库,适用于海量日志数据的存储,可支持到 PB 级别的数据存储。但其查询能力有所欠缺,支持 RowKey 快速查询,若有复杂查询则需要自建索引。ES 提供强大的搜索能力,支持各种复杂的查询条件,适合快速检索及灵活查询的场景。ES + HBase 的组合,利用各个组件的优势,结合起来解决海量日志数据存储及查询的问题,但架构较为复杂,需要保证两个组件间数据的一致性。

MongoDB

支持多种查询,具有文档型及嵌套的数据结构,但其支持的数据量级一般在 10 亿级别,对比 HBase 要欠缺得多。如果想要处理 TB 级以上的数据量,需要进行适当的架构设计和优化,例如利用分片集群来水平扩展数据等,付出的成本会比较高。

ClickHouse

Clickhouse 是一个开源的列式数据库,采用列存储的数据组织方式,具有高性能、可伸缩性、容错性和低延迟查询等特点。查询性能出色,可实现秒级甚至毫秒级的查询性能,对于数据压缩和存储效率高,可节省成本。适用于海量数据的存储及查询场景。

通过对以上方案进行对比,我们的数据量级已经超过 MongoDB 一般的处理能力,因此该方案被淘汰。对比 ES + HBase 与 ClickHouse,这两个方案都比较适合海量日志的存储与查询,但是受限于内部成本控制,CK 集群的日志保存时长被控制在一定天数内,无法满足我们业务场景的需求。最终,我们选择 ES + HBase 的方案。

2.2.2 整体架构

364ed957d7c1eecdb505a50121099b1e.png

基本原理即利用 HBase 解决存储问题,利用 ES 解决搜索问题,并将 ES 的 DocID 与 HBase 的 RowKey 关联起来。通过发挥各个组件的优势,相互结合解决海量日志的存储与查询问题。如上图所示,在接入日志 API 后,所有日志均经过 MQ 进行异步处理,如此既能够将日志写入与业务代码的逻辑解耦,又能确保写入速度的平稳,避免高峰流量对整个 ES + HBase 集群的写入造成压力。

2.2.3 RowKey设计

RowKey设计原则:

唯一性:RowKey应保证每行数据的唯一性;

散列性:数据均匀分布,避免热点数据产生;

顺序性:可以提高查询性能;

简洁性:减少存储空间及提高查询性能;

可读性:以便人工查询及理解;

对于线路商品日志,对于直接可读性要求不高,查询的场景我们是从ES中先查出RowKey,再用RowKey去hbase查询日志原文,整个过程RowKey是人工不可见的,结合我们实际的场景,线路商品数据日志的RowKey由五部分构成{0}-{1}-{2}-{3}-{4}

{0}:传入的pk 转换为md5[pk]值16进制字符串,取前8为

{1}:tableId补0至8位

{2}:pk+4位随机值补0至24位

{3}:log类型补0至16位

{4}:时间戳

e7d2ee6b097f7626a4ad7ea4d8e8e49b.png

2.2.4 扩展

对于线路商品信息的维护分散于不同的模块中,例如录入模块、直连模块等。鉴于此,我们抽象出统一的数据写入服务,并提供统一的日志接入 API,API内部异步写入日志。在底层的数据写入服务中,将所有的写入操作接入日志 API。通过这个方式,将扩展性统一到日志配置中心。

写入流程

6732d2605c4afb8b5a05766dc8ac33c4.png

日志的写入流程如上图所示,客户端调用日志 API 以进行数据变动日志的写入操作。日志服务在接收到请求后,将其抛入 MQ,由后续的消费组进行消费处理。消费组件在接收到消息后,会进行相应的消费处理,并根据上述的RowKey生成策略为该条日志生成 RowKey,随后将日志文本内容写入 HBase,在写入成功之后,再将索引数据写入到 ES。其中,若 HBase 或 ES 中的任何一个写入失败,都会将此条日志写入补偿 redis 集群,再由补偿逻辑进行后续补偿,以确保整个日志的写入成功。

查询流程

718dd2f426e0e354538284f4bc26d953.png

日志的查询流程如上图所示:客户端调用查询 API 并传入查询参数,日志服务接收到请求参数后,将其转换为 ES 分页查询请求,从 ES 集群中查出 RowKey,再汇总 RowKey 并从 HBase 中批量查出日志全文内容。

此外,我们利用上述查询 API,建立一个日志查询页面,供研发人员使用。在该页面,相关开发人员可以便捷地进行数据变动日志的查询。上述日志平台的建立,相对完美地解决线路商品海量数据变动日志的存储及查询问题。同时,抽象日志的配置中心,解决一定的扩展性问题。

整个系统的优点在于:基于表级别日志的商品日志记录,覆盖全面,配置灵活,索引结构化存储,支持海量日志数据的存储及查询。

缺点是:对于使用方而言存在一定的局限性,过于“技术化”,开发人员使用较为方便,但供应商与业务人员使用困难。

2.3 V3.0赋能

2.3.1 业务赋能

存储能力

随着日志写入量的增加,日志查询效率逐渐下降,对 ES 和 HBase 的拆分势在必行。如下图所示,我们对 ES 和 HBase 进行横向的拆分与扩容,并在日志配置中心制定匹配规则,根据接入日志类型的不同,将其匹配到不同的集群进行写入。此外,对于接入方,我们也支持独立集群申请,使用方可以根据自身情况决定是使用独立的集群部署,还是使用公用集群。

92270a89934c1fd1159606573098a5fe.png

搜索能力

搜索能力的提升主要由以下两个部分:

索引字段扩展:支持的索引字段更多。前期我们绝大部分场景的日志的索引条件是产品id或者资源ID,随着接入的日志变多,索引字段也变的丰富起来。对于日志搜索场景我们进行梳理,预留10个可支持不同查询的索引字段(其中四个数值型、4个字符型,2个日期型)供使用方使用,覆盖绝大多数的查询场景。

32729c6d7609a24aeb815c0624fc6168.png

ES索引分区:随着接入的日志增多,单个索引文件也愈发庞大,直接影响日志的查询性能。一般而言,对于日志类型数据,常见的方案是依据时间建立索引,该方案的优势如下:

1)提升查询性能。若日志携带时间范围进行查询,则可仅搜索特定时间段的索引,避免全量索引的查询开销。

2)便于数据管理。可以按照时间删除旧的索引,从而节省存储空间。

通过对日志进行分类,主要包括商品信息、开关班、价格库存等模块。随后结合业务使用场景、每天产生的增量数据以及服务器资源进行评估,最终决定按周建立索引,且索引数据保留一年。

1)利用定时任务在每周一时创建下一周的索引;

2)利用定时任务每周删除已过期的索引;

f15663894fc8c34ab6d15693652c2a8e.png

基于以上存储能力与搜索能力的扩展提升之后,我们在日志配置中心定制了【业务线<-->日志集群】的路由规则,来决定接入的其它业务线日志最终存储的日志集群,提供了更加灵活与具有弹性的业务线接入能力。

d2461ad6b96671ae3108faaba756ee07.png

2.3.2 供应商赋能

展示能力

452797836a7aa481e4d7cb0090f530f2.png

在 V2.0 版本中,日志页面仅限于研发人员使用,底层数据过于技术化,业务与供应商难以理解。通常情况下,如果能将日志的查询前置到供应商及业务环节,将极大地减少研发人员平时工作中的排障时间。

为此,我们提供 B 端的日志查询页面,给供应商及业务人员平时排查问题使用。我们对日志内容进行格式化的转换处理,将其转换为供应商和业务人员能够理解的信息,包括行转列、新旧对比、KV 转换、关联数据查询等。日志内容不再是抽象的文本,而是展示为与平时使用的商品系统相对应的内容。这对业务和供应商更加友好。

扩展能力

基于上一步展示能力的提升,对于新接入的日志如何能快速为业务及供应商提供 B 端的页面进行查看,这一步将大幅节省开发排查时间。对底层日志数据需要转换为业务及供应商能看懂的信息的场景进行分析,并总结 7 种数据展示的方式,分别如下:

1)文本字段类:此种展示内容最为简易,无需进行转换,用户可直接理解日志记录的内容,前端展示的即为此内容。

5c11e496f6312505a9a86b04a5709d97.png

2)数据关联类:此类日志内容中记录的是一个 id,但实际内容存在于另一个关联表的数据中,例如 id:1 表示的是跟团游,不能将 id:1 的日志展示给用户,而需转换为“跟团游”,这就需要进行一步关联 db 表的查询转换。

c8b9cecea39d5c757e7e3d9229795160.png

3)枚举类:此类日志内容记录的是一个 key 值,实际用户能理解的是该 key 值所代表的含义,例如产品钻级:0,就需要转换为:“不分级”,这就需要关联枚举值的配置文件进行查询转换。

eb53d9479e8ec816ffb8de186031b74e.png

4)位存储类:此类日志内容记录的是一种计算后的结果数值。例如支付方式是通过按位与计算然后累加的结果。这种情况就需要按照一定的计算方式将其还原回去。

060a26e3e77bbaeb93cf24dd07856a57.png

5)字段组合:此类日志记录的是分散的数据,但实际需要将数据结合在一起查看才会更具业务意义,例如资源适用人档,日志中分为最大、最小记录。实际展示时需要结合到一起展示范围。

614170b89968b2e0ce1161994e58d19a.png

6)外部接口:此类日志记录的是一种依赖外部接口的值,例如日志记录的是城市 id:2,代表的是上海,这就需要调用外部接口将 2 转换为上海。

3ae2fbc960c22daa06f64966411e64d1.png

7)差异对比类:此类日志需对结果进行解析以作对比,从而使用户能够更为直观地理解。通常存在两种情形:其一,日志内容所记录的即为两份对比数据,此种情况仅需依循规则予以解析即可;其二,若日志数据属于当次的快照数据,则需与前一次快照数据进行对比,以找出差异。最终达成如下图所示的展示效果。

17ed935605adf01e3a9ba0d68479f8ae.png

针对以上这些日志解析的场景,我们最终构建一个日志转换配置。对于新加入的日志,在绝大多数场景下,我们只需修改底层的数据提取及转换配置,便可较为快速的配置出日志查询页面,提供给供应商使用。

三、结语

本文详细介绍度假商品日志平台的演进历程,以及在各个阶段遇到的问题及解决方案。在整个演进过程中,针对海量日志数据存储与搜索的技术挑战,我们采取一系列措施,实现千亿级数据查询在 500ms 内的响应。

同时将日志系统开放,将问题查询解决前置到供应商及业务人员,极大降低一些数据变动查询需求的复杂度,减轻研发及TS同事重复性的工作。此外,我们还对日志平台进行横向的扩容配置,以支持更多的业务线可以接入。截至目前,多个业务线总数据存储量达到千亿级别。

【推荐阅读】

3d81066f0be12a4ca5ac694cd6310a17.jpeg

 “携程技术”公众号

  分享,交流,成长

【SABRE 3D, SABRE 3DxT,LAM设备】2025年9月12日-生产期间维护用的双重隔离 生产期间维护用的双重隔离。该程序用于准备将一个或多个双工位设置为维护状态,同时SABRE 3D/3DxT/3D Scimitar保持生产运行。其目的是在不中断生产的情况下将双工位与运行中的设备隔离。 阅读详情

相关推荐

【学长笔记】点亮 STM32F411CEU6 板载 LED —— 入门级教程

本文提供了STM32F411CEU6开发板(Black Pill)点亮LED的完整教程。详细介绍了硬件信息(板载LED连接PC13,低电平有效)、CubeMX配置步骤(GPIO输出模式)、Keil5工程设置及完整代码实现(包含GPIO初始化和系统时钟配置)。教程还涵盖ST-Link下载器连接方法、程序下载步骤(需配合BOOT0按键操作)以及验证程序运行的方法。该教程特别适合STM32初学者,通过简单的LED闪烁示例快速入门STM32开发。

apple_53308981的博客 1319

干货 | 携程日志系统治理演进之路

作者简介Dongyu,资深云原生研发工程师,专注于日志与OLAP领域,主要负责携程日志平台和CHPaas平台的研发及其运维管理工作。本文将从以下五部分切入,讲述日志系统的演进之路:携程日志的背景和现状、如何搭建一套日志系统、从 ElasticSearch 到 Clickhouse 存储演进、日志3.0重构及未来计划。一、日志背景及现状图12012年以前,携程的各个部门日志自行收集治理(如图1)。这...

携程技术 3426

RK3568/RK3588之修改8250驱动实现RS485收发的自动切换

在串口发送前,若为485,则将控制引脚拉为发送状态,在发送后,循环查看是否发送完成,若发送完成则将引脚置回读状态,如此一来,就能实现在内核测控制方向切换,而不会因为延时造成数据丢失,经过测试此办法可行。全部修改完成后,重新编译生成内核文件和设备树文件,烧写到板子上即可。

哒宰的博客 3112

干货 | 日均TB级数据,携程支付统一日志框架

作者简介英明,携程数据研发专家,负责支付离线数据仓库建设及BI业务需求,对并行计算、大数据处理及建模等有浓厚兴趣。一、背景支付中心作为携程集团公共部门,主要负责的业务包括交易、实名绑卡...

大数据星球-浪尖 477

AI编程工具深度横评2026:Claude Code × Cursor × Trae × OpenCode,7场景实测+完整免费配置

2026年AI编程工具已进入"自主Agent"时代:Claude Code以80.8% SWE-bench得分领跑编程能力,Cursor 3在用户体验和多Agent协作方面突出,GitHub Copilot保持企业市场优势。这些工具分别代表不同的使用哲学:命令行原生、IDE分支、平台集成、编辑器扩展和后起之秀。本文从开发者视角出发,通过7个真实编程场景的系统性测试,给出每款工具在具体场景下的表现评估和免费使用完整配置方案。所有代码均可直接复制运行,所有工具均有免费使用路径。

撂爪就忘的博客 5781

最优控制理论 二+、哈密尔顿函数法的补充

本章基于变分法所推出的哈密尔顿函数法,2、讨论了积分方程约束的转化、控制+状态等式约束的一阶必要条件。3、控制分段连续、状态存在内点约束等情况下的角点条件,给出了协态变量和哈密尔顿函数在内点处不连续的表达式。...

MSysの优快云 9394

2024了,我不想再用AOP收集业务操作日志了 | 京东云技术团队

首先,你需要定义一个或多个注解,用于标记哪些方法需要记录业务操作日志。

京东科技开发者 1130

Axial Attention 和 Criss-Cross Attention及其代码实现

Axial Attention 和 Criss-Cross Attention及其代码实现 ​ 文章目录Axial Attention 和 Criss-Cross Attention及其代码实现1 Criss - Cross Attention介绍1.1 引言1.2 理论实现1.2.1 获取权重A1.2.2 Affinity操作1.3.3 全部信息获取1.3 代码实现1.3.1 官方实现1.3.2 纯pytorch实现2 Axial Attention 介绍2.1 引言2.2 理论实现2.3 代码实现2.3

fzl的博客 2万+

终于有一款关注业务的国产运维监控工具了:中科软一体化运维监控平台

在运维监控领域,中科软一体化运维监控平台凭借其针对底层设施及业务数据的监控与告警一体化、AI技术赋能故障分析、简洁直观的用户界面以及适配国家重点监管行业的优势,已经成为行业的佼佼者。如果您正在寻找一款高效、智能的运维监控平台,那么中科软一体化运维监控平台将是您的不二之选。我们期待与各企业携手共创数字化发展的美好未来!

lihongjia_ss的博客 3650

示波器学习(一):示波器的作用、类型和基本结构

示波器的作用、使用场景;示波器的类型和基本结构介绍

qq_41300605的博客 9140

智能车图像处理16-进阶篇8--右环岛状态机与补线

这篇文章主要讲述智能车竞赛中如何判断右环岛并且进行状态补线。

taiyuezyh的博客 1万+

千亿级日志系统架构演进

如上图所示,在接入日志 API 后,所有日志均经过 MQ 进行异步处理,如此既能够将日志写入与业务代码的逻辑解耦,又能确保写入速度的平稳,避免高峰流量对整个 ES + HBase 集群的写入造成压力。最终,我们选择 ES + HBase 的方案。对于线路商品日志,对于直接可读性要求不高,查询的场景我们是从ES中先查出RowKey,再用RowKey去hbase查询日志原文,整个过程RowKey是人工不可见的,结合我们实际的场景,线路商品数据日志的RowKey由五部分构成{0}-{1}-{2}-{3}-{4}

JineD的博客 1327

基于STM32L4XX、HAL库的RTL8211FSI-CG以太网收发器(PHY)驱动程序设计

一、简介:RTL8211FSI-CG是Realtek公司生产的一款高性能、低功耗的单端口10/100M以太网收发器(PHY)。它通过RMII(Reduced Media Independent Interface)或MII接口与MAC控制器连接。

zhusl6688的博客 531

携程ELK日志分析平台深耕之路

源起 日志,看似简单简单的文本,在网站运维人员眼里却似一座蕴含丰富的宝藏。通常以下运维任务都或多或少需要运维人员和日志打交道: 系统健康状况监控 查找故障根源 系统瓶颈诊断和调优 追踪安全相关问题 技能熟练的Linux SA们能够很快的组合诸如grep, awk这样的命令,奇幻般的从日志中挖掘出有用的信息;亦或是研发人员往往会基于

kongjunlongaa的博客 4493

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【最佳实践】携程ClickHouse日志分析实践

ElasticSearch是一种基于Lucene的分布式全文搜索引擎,携程用ES处理日志,目前服务器规模500+,日均日志接入量大约200TB。随着日志量不断增加,一些问题逐渐暴露出来:一方面ES服务器越来越多,投入的成本越来越高;另一方面用户的满意度不高,日志写入延迟、查询慢甚至查不出来的问题一直困扰着用户;而从运维人员的角度看,ES的运维成本较高,运维的压力越来越大。 1.为什么选择ClickHouse ClickHouse是一款高性能列式分布式数据库管理系统,我们对ClickHouse进行了测试,

天天新知 2782

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

携程实时用户行为系统实践

携程实时用户行为服务作为基础服务,目前普遍应用在多个场景中,比如猜你喜欢(携程的推荐系统),动态广告,用户画像,浏览历史等等。 以猜你喜欢为例,猜你喜欢为应用内用户提供潜在选项,提高成交效率。旅行是一项综合性的需求,用户往往需要不止一个产品。作为一站式的旅游服务平台,跨业务线的推荐,特别是实时推荐,能实际满足用户的需求,因此在上游提供打通各业务线之间的用户行为数据有很大的必要性。 携程

程序猿开发日志【学习永无止境】 3071

有赞百亿级日志系统架构设计

一、概述 日志是记录系统中各种问题信息的关键,也是一种常见的海量数据。日志平台为集团所有业务系统提供日志采集、消费、分析、存储、索引和查询的一站式日志服务。主要为了解决日志分散不方便查看、日志搜索操作复杂且效率低、业务异常无法及时发现等等问题。 随着有赞业务的发展与增长,每天都会产生百亿级别的日志量(据统计,平均每秒产生 50 万条日志,峰值每秒可达 80 万条)。日志平台也随着业务的不断发展经历...

weixin_33892359的博客 445

千亿级数量下日志分析系统的技术架构选型

 随着数据已经逐步成为一个公司宝贵的财富,大数据团队在公司往往会承担更加重要的角色。大数据团队往往要承担数据平台维护、数据产品开发、从数据产品中挖掘业务价值等重要的职责。所以对于很多大数据工程师,如何根据业务需求去选择合适的大数据组件,做合适的大数据架构工作就是日常工作中最常遇到的问题。在这里根据七牛云在日增千亿级的日志分析工作,和大家分享一下大数据技术架构选型的一些经验。 大数据架构师在关...

weixin_34130389的博客 530

携程实时大数据平台实践分享

转自https://zhuanlan.zhihu.com/p/22047198 携程实时大数据平台实践分享 携程技术中心 · 25 天前 编者:本文作者为携程大数据平台负责人张翼。张翼浙江大学硕士毕业,2015年初加入携程,主导了携程实时数据计算平台的建设,以及携程大数据平台整合和平台技术的演进。进入互联网行业近10年,从事大数据平台和架构的工作超过6年。关注携程技术中心微信公号ct

无梦者追梦 6406

携程 Apollo 配置中心 | 学习笔记(十三)| 如何将日志配置文件放入到Apollo配置中心并支持热更新?

本章将介绍如何将日志配置文件放入到Apollo配置中心并支持热更新 专栏目录: 携程 Apollo 配置中心 | 学习笔记 序章 欢迎关注个人公众号: Coder编程 欢迎关注个人网站:www.52melrin.com

Coder编程的博客 8932

ElasticSearch构建千亿级日志分析系统-实时分析

摘要:分布式系统是目前很常见的解决方案,随之而来的是分析定位问题复杂度变高,本篇文章主要探讨如何构建一个日志采集与分析系统。

yiyiatgis的专栏 1058

clickhouse hbase性能对比_如何让 HBase 更快、更稳、更省钱

概述Apache HBase 是 Apache Hadoop 生态体系中的大规模、可扩展、分布式的数据存储服务。同时它还是 NoSQL 数据库。它的设计初衷是为包含了数百万列的数十亿行记录提供随机的、强一致性的实时查询。默认情况下,HBase 的数据会保存在 HDFS 上,HBase 为 HDFS 做了很多优化来保证稳定性与性能。但是维护 HDFS 本身一点也不轻松,要不断进行监控、运维、调优、扩...

weixin_39670464的博客 1201

Qt窗口:菜单栏、菜单、菜单项、工具栏、状态栏、浮动窗口

菜单栏QMenuBar、菜单QMenu、菜单项QAction、addToolBar添加工具栏、setAllowedAreas或addToolBar的第一个参数设置停靠位置设置、setFloatable浮动性、setMovable移动性,状态栏不可移动(setStatusBar、showMessage临时消息、addWidget/addpermanentWidget),浮动窗口可以放一堆复杂的排版控件,工具栏适合放一些快速点击的快捷按钮

Wangshijie1015的博客 275

Java小白如何设计一个高并发系统?

 设计一个高并发系统并非易事,如果不站在巨人的肩膀上来开展工作的话,这条路是很难保持一路畅通的!所以,本着好东西就是要拿出来分享的原则,LZ就把前段时间从阿里的一位老哥手上捞到的百亿级系统架构设计实录分享给大家,希望能对想接触架构的朋友或者已经是架构师的朋友们得到一点启发!

wdj_yyds的博客 688

工业场景具身智能的 VLA 模式:技术现状、运行机制与工业系统架构分析

VLA正推动工业智能从编程驱动向学习型操作演进,在抓取、上下料等场景展现工程价值,但尚无法独立承担复杂制造的确定性、安全与系统级协同。其核心局限在于隐式表征与工业显式语义的脱节,需依赖分层架构与显式运行机制实现任务可调度、可验证与可追溯。未来工业具身智能将依赖“学习型策略+显式语义+物理闭环”的融合架构,实现从动作生成到系统级运行保障的跃迁。

weixin_41939376的博客 358
上一篇: 干货 | 携程前端自动化任务平台TaskHub开发实践
下一篇: 干货 | 能效变革,携程酒店前端BFF实践
携程技术
博客等级 码龄10年 3716粉丝 324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值