- 博客(421)
- 收藏
- 关注
原创 一次基于AST的大规模代码迁移实践
在研发项目过程中,我们经常会遇到技术架构迭代更新的需求,通过技术的迭代更新,让项目从新的技术特性中受益,但由于很多新的技术迭代版本并不能完全向下兼容,包含了很多非兼容性的改变(Breaking Changes),因此我们需要设计一款工具,帮助我们完成大规模代码自动迁移问题。本文简单阐述了基于AST的代码迁移概念和大致流程,并通过代码案例带大家了解到了其中的处理细节。
2024-09-26 11:05:56 918
原创 Redis集群slot迁移改造实践
Redis集群经常需要进行在线水平扩缩容,实际操作过程中发现迁移期间服务时延剧烈抖动,业务侧感知明显,为了应对以上问题对原生Redis集群slot迁移功能进行优化改造。
2024-09-12 10:32:02 765
原创 Cookie的secure属性引起循环登录问题分析及解决方案
一个公司内部可能存在多个系统,如果每一个人在使用不同系统的时候都需要重新登录,那么会做大量系统登录切换、耗费比较多的精力去管理账号和密码,那么有没有办法在一个公司内部的所有系统只需要一次登录验证,后续使用其他系统的时候不用重复登录就可以直接使用呢,这就是单点登录要解决的问题。
2024-09-05 10:34:51 1125
原创 TimeWheel算法介绍及在应用上的探索
本文从追溯时间轮算法的出现,介绍了时间轮算法未出现前,基于队列的定时任务实现,以及基于队列的定时任务实现所存在的缺陷。接着我们介绍了时间轮算法的算法思想及其数据结构,详细阐述了三种时间轮模型的数据结构和优劣性。再次,我们介绍时间轮算法在 Dubbo 框架中的应用,并给出了它在 Dubbo 中的主要实现方式。最后,我们以项目中的某个服务架构优化出发,介绍了目前设计中存在的缺陷,并借助来自中间件团队的,包含时间轮算法实现的延迟 MQ,给出了优化设计的方法。
2024-08-29 11:27:09 859
原创 高性能无锁队列 Disruptor 核心原理分析及其在i主题业务中的应用
本文首先介绍了 Disruptor 高性能内存队列的基本概念、使用 Demo、高性能原理及源码分析,最后通过两个例子介绍了 Disruptor 在i主题业务中的应用。
2024-08-15 11:14:40 681
原创 MySQL 5.7 DDL 与 GH-OST 对比分析
在 MySQL 数据库中,DDL(数据定义语言)操作包括对表结构、索引、触发器等进行修改、创建和删除等操作。由于 MySQL 自带的 DDL 操作可能会阻塞 DML(数据操作语言)写语句的执行,大表变更容易产生主备延时,DDL 变更的速度也不能控制,因此在进行表结构变更时需要非常谨慎。为了解决这个问题,可以使用 GitHub 开源的工具 GH-OST。GH-OST 是一个可靠的在线表结构变更工具,可以实现零宕机、低延迟、自动化、可撤销的表结构变更。
2024-08-08 10:19:34 793
原创 缓存框架 Caffeine 的可视化探索与实践
Caffeine 作为一个高性能的缓存框架而被大量使用。本文基于Caffeine已有的基础进行定制化开发实现可视化功能。
2024-07-26 11:31:05 738
原创 基于 Three.js 的 3D 模型加载优化
作为一个3D的项目,从用户打开页面到最终模型的渲染加载的时间也会比普通的H5项目要更长一些,从而造成大量的用户流失。为了提升首屏加载的转化率,需要尽可能的降低loading的时间。这里就分享一些我们在模型加载优化方面的心得。
2024-07-19 11:16:54 1723
原创 HBase 在统一内容平台业务的优化实践
HBase是一款开源高可靠性、扩展性、高性能和灵活性的分布式非关系型数据库,本文围绕数据库选型以及使用HBase的痛点展开,从四个方面对HBase的使用进行优化,取得了一些不错效果。
2024-07-11 10:47:04 875
原创 数据特征采样在 MySQL 同步一致性校验中的实践
本文介绍了当前DTS应用中,MySQL数据同步使用到的数据一致性校验工具,并对它的实现思路进行分享。
2024-07-04 10:55:13 1113
原创 vivo 互联网自研代码评审 VCR 落地实践
本文介绍了 vivo 工程效能团队基于 Gitlab、Gerrit 等开源工具搭建的 VCR 平台,代码评审 idea 插件开发及开发过程中遇到的挑战、困难,并分享了相应的应对策略和优化方案。
2024-06-28 19:16:10 1104
原创 海量数据处理利器 Roaring BitMap 原理介绍
本文结合个人理解梳理了BitMap及Roaring BitMap的原理及使用,分别主要介绍了Roaring BitMap的存储方式及三种container类型及Java中Roaring BitMap相关API使用。
2024-06-20 10:23:01 1053
原创 前端生成海报图技术选型与问题解决
本篇文章主要聚焦海报图分享这个形式,探讨纯前端在H5&小程序内,合成海报到下载到本地、分享至社交平台整个流程中可能遇到的问题,以及如何解决。
2024-06-06 09:38:19 1172
原创 vivo 制品管理在 CICD 落地实践
本文将介绍在DevOps领域,vivo CICD是如何进行管理制品,阐述了CICD制品管理的演进过程与落地实践,希望能为读者提供一些实践经验和思路。
2024-05-30 10:58:06 705 2
原创 分布式任务调度内的 MySQL 分页查询优化
本文主要通过图示介绍了用主键进行分片查询的过程,介绍了主键分页查询存在SQL性能问题,如何去创建高效的索引去优化主键分页查询的SQL性能问题。对于数据分布不均如何发现,提供了一些SQL查询案例来进行参考,对MySQL Index Condition Pushdown优化算法做了一些简单介绍。
2024-05-24 09:00:00 1098 1
原创 有隙可乘 - Android 序列化漏洞分析实战
本文主要描述了FileProvider,startAnyWhere实现,Parcel不对称漏洞以及这三者结合产生的漏洞利用实战,另外阐述了漏洞利用的影响和修复预防措施,这个漏洞波及了几乎所有的Android手机,希望能带给读者提供一些经验和启发。
2024-05-16 10:41:22 1361
原创 HBase Meta 元信息表修复实践
HBase meta表的数据正确性对于HBase集群的正常运行至关重要,如何保证meta表数据正确以及数据损坏之后快速修复变的极为重要,如果对meta没有全面认识每次集群出现故障将会措手无策。在线修复:meta表可以正常通过hbck、自研工具进行meta表数据修复保证数据完整性。离线修复:meta表无法正常上线根据hdfs中Region信息重构meta表恢复HBase服务。
2024-05-10 09:00:00 917 1
原创 揭露 FileSystem 引起的线上 JVM 内存溢出问题
本文主要介绍了由FileSystem类引起的一次线上内存泄漏导致内存溢出的问题分析解决全过程。
2024-04-26 09:00:00 847
原创 用户行为分析模型实践(四)—— 留存分析模型
本文详细介绍了留存分析模型的概念及基本原理,并阐述了其在产品中具体实现。针对在实际使用过程问题,探索了基于ClickHouse留存分析模型实践方案。
2024-04-19 09:41:57 1316
原创 Redis Pipelining 底层原理分析及实践
Redis是一种基于客户端-服务端模型以及请求/响应的TCP服务。在遇到批处理命令执行时,Redis提供了Pipelining(管道)来提升批处理性能。本文结合实践分析了Spring Boot框架下Redis的Lettuce客户端和Redisson客户端对Pipeline特性的支持原理,并针对实践过程中遇到的问题进行了分析,可以帮助开发者了解不同客户端对Pipeline支持原理及避免实际使用中出现问题。
2024-04-11 12:20:41 1242
原创 MySQL 主从 AUTO_INCREMENT 不一致问题分析
本文介绍了MySQL5.7 中常见的replace into 操作造成的主从auto_increment不一致现象,一旦触发了主从切换,业务的正常插入操作会触发主键冲突的报错提示。
2024-04-07 10:41:33 726
原创 Java 8 内存管理原理解析及内存故障排查实践
介绍Java8虚拟机的内存区域划分、内存垃圾回收工作原理解析、虚拟机内存分配配置,介绍各垃圾收集器优缺点及场景应用、实践内存故障场景排查诊断,方便读者面临内存故障时有一个明确的思路和方向。
2024-03-21 10:48:27 1007
原创 vivo统一接入网关VUA转发性能优化实践
本文将探讨如何通过使用Intel QuickAssist Technology(QAT)来优化VUA的HTTPS转发性能。我们将介绍如何使用QAT通过硬件加速来提高HTTPS转发的性能,并探讨QAT在不同应用场景中的表现。最后,我们将讨论如何根据实际情况进行优化,以获得最佳转发性能。
2024-03-14 10:27:30 1151
原创 Sharding-JDBC源码解析与vivo的定制开发
本文对sharding-JDBC的解析、路由、改写、执行、归并五大核心引擎进行了源码解析,并结合业务实践经验,总结了使用sharding-JDBC的一些痛点问题并分享了对应的定制开发与改造方案。
2024-03-07 11:23:35 1145
原创 vivo 在离线混部探索与实践
伴随 vivo 互联网业务的高速发展,数据中心的规模不断扩大,成本问题日益突出。在离线混部技术可以在保证服务质量的同时,极大的提升数据中心资源利用率,降低成本。混部技术涉及任务调度、资源隔离、运维观测等一系列技术难题,本文将介绍 vivo 在混部技术方面的实践和探索,为读者提供借鉴和参考。
2024-02-29 11:44:00 1368
原创 vivo 短视频体验与成本优化实践
vivo短视频深入分析播放链路的每个环节、并结合大数据统计,探索出了多种的体验优化策略。基于技术优化和业务发展的要求,vivo短视频还上线了系统性的监控体系,对播放体验、带宽成本进行了多维度的监控。
2024-02-22 10:05:46 1197
原创 vivo 海量基础数据计算架构应用实践
本文介绍了vivo在万亿级数据增长驱动下,基础数据架构建设的演进过程,在实时和离线计算过程中,如何基于业务发展,数据质量,计算成本等方面的挑战,构建稳定,可靠,低成本、高性能的双活计算架构。
2024-01-25 10:31:38 1718
原创 vivo 智能活动中台 - 悟空系统建设之路
在AIGC、低代码等新技术、新基建的技术驱动下,结合vivo互联网多年沉淀,悟空团队打造了一个以拖拉拽为主体、AI能力加持的智能活动中台。
2024-01-18 10:30:45 1405
原创 vivo 海量微服务架构最新实践
vivo微服务平台为全球5亿+用户背后的全网十万级机器、万级微服务提供服务,在高效实践过程中,vivo中间件平台团队输出了一套业务适用的微服务架构最佳实践--架构能力矩阵、高效的开源中间件组件全生命周期管理策略,走出了一条从开源到开源+自研的技术演进路径,通过微服务引擎升级和统一平台建设较好解决了面临的问题与挑战。
2024-01-11 10:20:13 1288
原创 vivo 互联网技术 2023 年度盘点
在龙年到来之际,vivo互联网技术2023年货如约而至,让我们一起盘点下vivo互联网技术在过去一年的成长与收获吧。
2024-01-04 15:08:42 1461
原创 Spring 七种事务传播性介绍
本文主要介绍了Spring事务传播性的相关知识。在Spring环境中,含有事务的方法嵌套调用,事务是如何传递的规则,以及每种规则是如何开展工作的。文章还提到每种事务传播性是如何使用的,方便读者依据实际的场景,使用不同的事务规则。
2024-01-04 10:34:48 1284
原创 前端 JS 安全对抗原理与实践
前端代码都是公开的,为了提高代码的破解成本、保证JS代码里的一些重要逻辑不被居心叵测的人利用,需要使用一些加密和混淆的防护手段。
2023-12-22 10:27:16 1805
原创 vivo 容器平台资源运营实践
容器平台针对业务资源申请值偏大的运营问题,通过静态超卖和动态超卖两种技术方案,使业务资源申请值趋于合理化,提高平台资源装箱率和资源利用率。
2023-12-21 11:13:15 1323
原创 Hudi 在 vivo 湖仓一体的落地实践
在增效降本的大背景下,vivo大数据基础团队引入Hudi组件为公司业务部门湖仓加速的场景进行赋能。主要应用在流批同源、实时链路优化及宽表拼接等业务场景。
2023-12-14 10:56:36 1427
原创 RocksDB 在 vivo 消息推送系统中的实践
本文主要介绍了 RocksDB 的基础原理,并阐述了 RocksDB 在vivo消息推送系统中的一些实践,通过分享一些对 RocksDB 原生能力的探索,希望可以给使用RocksDB的读者带来启发。
2023-12-08 09:00:00 1289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人