缓存框架 Caffeine 的可视化探索与实践

7 月 26 日
阅读 16 分钟
39
Caffeine缓存是一个高性能、可扩展、内存优化的 Java 缓存库,基于 Google 的 Guava Cache演进而来并提供了接近最佳的命中率。

基于 Three.js 的 3D 模型加载优化

7 月 19 日
阅读 4 分钟
114
作为一个3D的项目,从用户打开页面到最终模型的渲染需要经过多个流程,加载的时间也会比普通的H5项目要更长一些,从而造成大量的用户流失。为了提升首屏加载的转化率,需要尽可能的降低loading的时间。这里就分享一些我们在模型加载优化方面的心得。

HBase 在统一内容平台业务的优化实践

7 月 11 日
阅读 6 分钟
89
HBase是一款开源高可靠性、扩展性、高性能和灵活性的分布式非关系型数据库,本文围绕数据库选型以及使用HBase的痛点展开,从四个方面对HBase的使用进行优化,取得了一些不错效果。

数据特征采样在 MySQL 同步一致性校验中的实践

7 月 4 日
阅读 8 分钟
270
在 MySQL 的使用过程中,经常会因为如集群拆分、数据传输、数据聚合等原因产生流动和数据复制。而在通常的数据复制过程中,因为涉及到目标的写入不可控、服务应用的未知问题、人为导致的异常缺陷等,很难保证复制产生的数据与源完全一致。除了通过完善流程与服务应用的能力和可靠性来保障数据一致性外,也需要提供快速有...

vivo 互联网自研代码评审 VCR 落地实践

6 月 27 日
阅读 13 分钟
148
本文介绍了vivo工程效能团队基于 Gitlab、Gerrit等开源工具搭建的VCR平台,代码评审idea插件开发及开发过程中遇到的挑战、困难,并分享了相应的应对策略和优化方案。

海量数据处理利器 Roaring BitMap 原理介绍

6 月 20 日
阅读 10 分钟
467
本文结合个人理解梳理了BitMap及Roaring BitMap的原理及使用,分别主要介绍了Roaring BitMap的存储方式及三种container类型及Java中Roaring BitMap相关API使用。

TiKV 源码分析之 PointGet

6 月 13 日
阅读 14 分钟
363
TiDB是一款具有HTAP能力(同时支持在线事务处理与在线分析处理 )的融合型分布式数据库产品,具备水平扩容或者缩容等重要特性。TiDB 采用多副本+Multi-Raft 算法的方式将数据调度到不同的机器节点上,具备较高的可靠性和容灾能力。TiDB中的存储层TiKV组件,能够独立于TiDB作为一款分布式KV数据库使用,目前已经捐赠给CNCF...

前端生成海报图技术选型与问题解决

6 月 6 日
阅读 6 分钟
360
本篇文章主要聚焦海报图分享这个形式,探讨纯前端在H5&小程序内,合成海报到下载到本地、分享至社交平台整个流程中可能遇到的问题,以及如何解决。

vivo 制品管理在 CICD 落地实践

5 月 30 日
阅读 7 分钟
385
在DevOps实践中,制品管理是一个重要的组成部分,它可以帮助团队快速交付高质量、高可靠性的软件,本文将介绍在 DevOps 领域,vivo CICD是如何进行管理制品,阐述了 CICD 制品管理的演进过程与落地实践,希望能为读者提供一些实践经验和思路。

分布式任务调度内的 MySQL 分页查询优化

5 月 24 日
阅读 10 分钟
345
本文主要通过图示介绍了用主键进行分片查询的过程,介绍了主键分页查询存在SQL性能问题,如何去创建高效的索引去优化主键分页查询的SQL性能问题

有隙可乘 - Android 序列化漏洞分析实战

5 月 16 日
阅读 10 分钟
166
本文主要描述了FileProvider,startAnyWhere实现,Parcel不对称漏洞以及这三者结合产生的漏洞利用实战,另外阐述了漏洞利用的影响和修复预防措施,这个漏洞波及了几乎所有的Android手机,希望能带给读者提供一些经验和启发。

HBase Meta 元信息表修复实践

5 月 9 日
阅读 11 分钟
134
HBase是一款开源高可靠、高可扩展性、高性能的分布式非关系型数据库,广泛应用于大数据处理、实时计算、数据存储和检索等领域。在分布式集群中,硬件故障是一种常态,硬件故障可能导致节点或者集群级别服务中断、meta表损坏、RIT、Region空洞、重叠等问题,如何快速修复故障恢复业务尤其重要,本文章主要是围绕HBase met...

揭露 FileSystem 引起的线上 JVM 内存溢出问题

4 月 26 日
阅读 9 分钟
175
内存泄漏定义(memory leak):一个不再被程序使用的对象或变量还在内存中占有存储空间,JVM不能正常回收改对象或者变量。一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。内存溢出(out of memory):是指在程序运行过程中,由于分配的内存空间不足或使用不当等原因,导致程序无法继续执行的一种...

用户行为分析模型实践(四)—— 留存分析模型

4 月 19 日
阅读 10 分钟
159
本文详细介绍了留存分析模型的概念及基本原理,并阐述了其在产品中具体实现。针对在实际使用过程问题,探索了基于ClickHouse留存分析模型实践方案。

Redis Pipelining 底层原理分析及实践

4 月 11 日
阅读 31 分钟
258
Redis是一种基于客户端-服务端模型以及请求/响应的TCP服务。在遇到批处理命令执行时,Redis提供了Pipelining(管道)来提升批处理性能。本文结合实践分析了Spring Boot框架下Redis的Lettuce客户端和Redisson客户端对Pipeline特性的支持原理,并针对实践过程中遇到的问题进行了分析,可以帮助开发者了解不同客户端对Pipelin...

MySQL 主从 AUTO_INCREMENT 不一致问题分析

4 月 7 日
阅读 13 分钟
210
本文介绍了 MySQL5.7 中常见的replace into 操作造成的主从auto_increment不一致现象,一旦触发了主从切换,业务的正常插入操作会触发主键冲突的报错提示。

vivo 消息中间件测试环境项目多版本实践

3 月 28 日
阅读 6 分钟
266
在2022年8月份 vivo 互联网中间件团队完成了互联网在线业务的MQ引擎升级,从RabbitMQ 到 RocketMQ 的平滑升级替换。

Java 8 内存管理原理解析及内存故障排查实践

3 月 21 日
阅读 14 分钟
232
介绍Java8虚拟机的内存区域划分、内存垃圾回收工作原理解析、虚拟机内存分配配置,介绍各垃圾收集器优缺点及场景应用、实践内存故障场景排查诊断,方便读者面临内存故障时有一个明确的思路和方向。

vivo统一接入网关VUA转发性能优化实践

3 月 14 日
阅读 5 分钟
173
本文将探讨如何通过使用Intel QuickAssist Technology(QAT)来优化VUA的HTTPS转发性能。我们将介绍如何使用QAT通过硬件加速来提高HTTPS转发的性能,并探讨QAT在不同应用场景中的表现。最后,我们将讨论如何根据实际情况进行优化,以获得最佳转发性能。

Sharding-JDBC源码解析与vivo的定制开发

3 月 7 日
阅读 62 分钟
313
Sharding-JDBC是在JDBC层提供服务的数据库中间件,在分库分表场景具有广泛应用。本文对Sharding-JDBC的解析、路由、改写、执行、归并五大核心引擎进行了源码解析,并结合业务实践经验,总结了使用Sharding-JDBC的一些痛点问题并分享了对应的定制开发与改造方案。

vivo 在离线混部探索与实践

2 月 29 日
阅读 8 分钟
460
伴随 vivo 互联网业务的高速发展,数据中心的规模不断扩大,成本问题日益突出。在离线混部技术可以在保证服务质量的同时,极大的提升数据中心资源利用率,降低成本。混部技术涉及任务调度、资源隔离、运维观测等一系列技术难题,本文将介绍 vivo 在混部技术方面的实践和探索,为读者提供借鉴和参考

vivo 短视频体验与成本优化实践

2 月 22 日
阅读 9 分钟
741
在线点播场景,播放体验提升与成本优化是同等重要的两件事,并在部分场景体验优化与成本优化存在一定的互斥关系。vivo短视频深入分析播放链路的每个环节、并结合大数据统计,探索出了多种的体验优化策略;同时针对成本优化,上线了转码、PCDN、共享闲时带宽等多种策略用于降低带宽成本。基于技术优化和业务发展的要求,v...

vivo 海量基础数据计算架构应用实践

1 月 25 日
阅读 7 分钟
365
本文介绍了vivo在万亿级数据增长驱动下,基础数据架构建设的演进过程,在实时和离线计算过程中,如何基于业务发展,数据质量,计算成本等方面的挑战,构建稳定,可靠,低成本、高性能的双活计算架构。

vivo 智能活动中台 - 悟空系统建设之路

1 月 18 日
阅读 6 分钟
422
本文根据冯伟、姜野老师在“2023 vivo开发者大会"现场演讲内容整理而成。【vivo互联网技术】公众号回复【2023 VDC】获取互联网技术分会场议题相关资料。

vivo 海量微服务架构最新实践

1 月 11 日
阅读 10 分钟
391
vivo微服务平台为全球5亿+用户背后的全网十万级机器、万级微服务提供服务,在高效实践过程中,vivo中间件平台团队输出了一套业务适用的微服务架构最佳实践--架构能力矩阵、高效的开源中间件组件全生命周期管理策略,走出了一条从开源到开源+自研的技术演进路径,通过微服务引擎升级和统一平台建设较好解决了面临的问题与...

Spring 七种事务传播性介绍

1 月 4 日
阅读 6 分钟
509
作者:vivo 互联网服务器团队 - Zhou Shaobin本文主要介绍了Spring事务传播性的相关知识。Spring中定义了7种事务传播性:PROPAGATION_REQUIRED PROPAGATION_SUPPORTSPROPAGATION_MANDATORYPROPAGATION_REQUIRES_NEWPROPAGATION_NOT_SUPPORTEDPROPAGATION_NEVERPROPAGATION_NESTED在Spring环境中,含有事务的方法嵌套调用...

vivo 数据库备份恢复系统演化

1 月 2 日
阅读 11 分钟
227
vivo互联网领域拥有的数据库组件分别为 MySQL、MongoDB、TiDB 等,其中MySQL集群占比绝大部分,  MongoDB 集群占比小部分, TiDB 集群占比更小。为了介绍方便,本文把改造前的数据库备份恢复系统称为旧备份恢复系统,改造后的数据库备份恢复系统称为新备份恢复系统。我们将从旧的架构系统开始,发现其不足,慢慢的优化形...

前端 JS 安全对抗原理与实践

2023-12-22
阅读 8 分钟
534
如今这个时代,数据已经变得越来越重要,网页和APP是主流的数据载体,如果获取数据的接口没有设置任何的保护措施的话,数据就会被轻易地窃取或篡改。

vivo 容器平台资源运营实践

2023-12-21
阅读 6 分钟
378
作者:vivo 互联网服务器团队 - Chen Han容器平台针对业务资源申请值偏大的运营问题,通过静态超卖和动态超卖两种技术方案,使业务资源申请值趋于合理化,提高平台资源装箱率和资源利用率。一、背景在Kubernetes中,容器申请资源有request和limit概念来描述资源请求的最小值和最大值。requests值在容器调度时会结合节点...

Hudi 在 vivo 湖仓一体的落地实践

2023-12-14
阅读 6 分钟
345
在增效降本的大背景下,vivo大数据基础团队引入Hudi组件为公司业务部门湖仓加速的场景进行赋能。主要应用在流批同源、实时链路优化及宽表拼接等业务场景。