Jedis 参数异常引发服务雪崩案例分析

2023-07-20
阅读 9 分钟
626
Redis 作为互联网业务首选的远程缓存工具而被大面积使用,作为访问客户端的 Jedis 同样被大面积使用。本文主要分析 Redis3.x 版本集群模式发生主从切换场景下 Jedis 的参数设置不合理引发服务雪崩的过程。

如何用Three.js + Blender打造一个web 3D展览馆

2023-07-14
阅读 12 分钟
1.3k
运营活动新玩法层出不穷,web 3D炙手可热,本文将一步步带大家了解如何利用Three.js和Blender来打造一个沉浸式web 3D展览馆。

深入解析Redis的LRU与LFU算法实现

2023-07-06
阅读 5 分钟
716
相对于磁盘的容量,内存的空间一般都是有限的,为了避免Redis耗尽宿主机的内存空间,Redis内部实现了一套复杂的缓存淘汰策略来管控内存使用量。

证书管理:从手工到平台化

2023-06-30
阅读 3 分钟
669
作者:vivo 互联网运维团队- Peng Jiahong本文介绍了vivo业务运维证书管理从手工到平台化的历程。一、背景以往,vivo 互联网业务的域名证书运维管理工作,严重依赖经验丰富的高级运维工程师个人专职管理,证书管理存在单点以及过于依赖的人的情况。随着业务规模的持续扩大,以及对证书管理质量标准的要求提升,加强全网...

vivo 自研鲁班分布式 ID 服务实践

2023-06-29
阅读 7 分钟
672
本文介绍了什么是分布式ID,分布式ID的业务场景以及9种分布式ID的实现方式,同时基于vivo内部IT的业务场景,介绍了自研鲁班分布式ID服务的实践。

浅析 Jetty 中的线程优化思路

2023-06-26
阅读 6 分钟
759
本文介绍了 Jetty 中 ManagedSelector 和 ExecutionStrategy 的设计实现,通过与原生 select 调用的对比揭示了 Jetty 的线程优化思路。Jetty 设计了一个自适应的线程执行策略(EatWhatYouKill),在不出现线程饥饿的情况下尽量用同一个线程侦测 I/O 事件和处理 I/O 事件,充分利用了 CPU 缓存并减少了线程切换的开销。这...

“事后达尔文”—— 游戏业务效果评估方法实践

2023-06-25
阅读 5 分钟
1.8k
本文介绍了互联网业务数据效果评估的几种常见问题及方法,并基于分层抽样的逻辑优化出一套可应用于解决用户不均匀的“事后达尔文"分析法,可适用于无法AB测试或人群不均匀的AB测试等场景下的效果评估中,本文会基于实际应用案例,来给大家仔细阐述相关方法模型的思考过程,实现原理,应用结果,希望能够帮助大家,如果能...

vivo 游戏黑产反作弊实践

2023-06-19
阅读 5 分钟
1.7k
游戏行业从端游开始一直是黑灰产活跃的重要场景。近年来,随着互联网的发展和手机市场的不断壮大,手游的用户规模不断增长,黑产在手游市场的活跃程度不断提升。

vivo 帐号服务稳定性建设之路-平台产品系列06

2023-06-16
阅读 10 分钟
845
vivo帐号是用户畅享整个vivo生态服务的必备通行证,也是生态内各业务开展的基石。伴随公司业务快速增长,帐号系统目前服务的在网用户已达到2.7亿,日均调用量破百亿,作为一个典型的三高(高性能、高并发、高可用)属性的系统,帐号系统的稳定性显得尤为重要。而要保障系统的稳定性,我们需要综合考虑多方面因素。本文将...

纠删码技术在vivo存储系统的演进【上篇】

2023-06-09
阅读 30 分钟
1.1k
本文将学术界和工业界的纠删码技术的核心研究成果进行了相应的梳理,然后针对公司线上存储系统的纠删码进行分析,结合互联网企业通用的IDC资源、服务器资源、网络资源、业务特性进行分析对原有纠删码技术进行优化和微创新,提出了融合EC整体方案以及可落地的RS+LRC+中间结果优化+并行修复跨AZ带宽设计方案,为后续的工程...

前端开发如何更好的避免样式冲突?级联层(CSS@layer)

2023-05-29
阅读 10 分钟
904
本文主要讲述了CSS中的级联层(CSS@layer),讨论了级联以及级联层的创建、嵌套、排序和浏览器支持情况。级联层可以用于避免样式冲突,提高代码可读性和可维护性。

Kafka实时数据即席查询应用与实践

2023-05-26
阅读 10 分钟
641
Kafka中的实时数据是以Topic的概念进行分类存储,而Topic的数据是有一定时效性的,比如保存24小时、36小时、48小时等。而在定位一些实时数据的Case时,如果没有对实时数据进行历史归档,在排查问题时,没有日志追述,会很难定位是哪个环节的问题。

TLS 加速技术:Intel QuickAssist Technology(QAT)解决方案

2023-05-22
阅读 7 分钟
752
当前 TLS 已经成为了互联网安全的主要传输协议,TLS带来更高的安全性的同时,也带来了更多的性能开销。特别是在建连握手阶段,TLS的CPU开销,相对于TCP要大很多。

深入浅出 OkHttp 源码解析及应用实践

2023-05-18
阅读 8 分钟
693
本文首先从源代码入手简要分析了一个请求发起过程中的核心代码,接着通过流程图和架构图概括地介绍了OkHttp的整体结构,重点分析了拦截器的责任链模式设计,最后列举了OkHttp拦截器在项目中的实际应用。

使用doop识别最近commons text漏洞的污点信息流

2023-05-16
阅读 9 分钟
577
本文基于笔者对doop静态程序分析框架源代码和规则学习,并结合对目前漏洞公开技术细节的学习,修改增强doop app only模式下的分析规则后,实现通过doop工具识别commons text rce漏洞(CVE-2022-42889)。内容包含三部分,第一部分简单介绍doop分析框架,第二部分简单介绍commons text漏洞的原理和代码调用栈,第三部分重...

一种KV存储的GC优化实践

2023-05-12
阅读 9 分钟
713
从内部需求出发,我们基于TiKV设计了一款兼容Redis的KV存储。基于TiKV的数据存储机制,对于窗口数据的处理以及过期数据的GC问题却成为一个难题。本文希望基于从KV存储的设计开始讲解,到GC设计的逐层优化的过程,从问题的存在到不同层面的分析,可以给读者在类似的优化实践中提供一种参考思路。

vivo积分任务体系的架构演进-平台产品系列05

2023-05-04
阅读 6 分钟
1.3k
积分体系作为一种常见营销工具,几乎是每一家企业会员营销的必备功能之一,在生活中随处可见,随着vivo互联网业务发展,vivo积分体系的能力也随之得到飞速提升,本篇主要介绍vivo积分任务体系的系统建设历程。

vivo 推送系统的容灾建设与实践

2023-04-27
阅读 5 分钟
711
vivo推送平台是vivo公司向开发者提供的消息推送服务,通过在云端与客户端之间建立一条稳定、可靠的长连接,为开发者提供向客户端应用实时推送消息的服务,支持百亿级的通知/消息推送,秒级触达移动用户。

Tars-Cpp 协程实现分析

2023-04-24
阅读 8 分钟
785
Tars 是 Linux 基金会的开源项目([链接]),它是基于名字服务使用 Tars 协议的高性能 RPC 开发框架,配套一体化的运营管理平台,并通过伸缩调度,实现运维半托管服务。Tars 集可扩展协议编解码、高性能 RPC 通信框架、名字路由与发现、发布监控、日志统计、配置管理等于一体,通过它可以快速用微服务的方式构建自己的稳...

容易忽视的细节:Log4j 配置导致的零点接口严重超时

2023-04-21
阅读 9 分钟
963
本文详细的记录了一次0点接口严重超时的问题排查经历。本文以作者自身视角极具代入感的描绘了从问题定位到具体的问题排查过程,并通过根因分析并最终解决问题。整个过程需要清晰的问题排查思路和丰富的问题处理经验,也离不开公司强大的调用链、和全方位的系统监控等基础设施。

明修"栈"道——越过Android启动栈陷阱

2023-04-18
阅读 15 分钟
1k
本文从一例业务中遇到的问题出发,以FLAG_ACTIVITY_NEW_TASK这一flag作为切入点,带大家探究Activity启动前的一项重要的工作——栈校验。

vivo全球商城:电商交易平台设计

2023-04-14
阅读 5 分钟
1.4k
vivo官方商城经过了七年的迭代,从单体架构逐步演进到微服务架构,我们的开发团队沉淀了许多宝贵的技术与经验,对电商领域业务也有相当深刻的理解。

MySQL主从复制原理剖析与应用实践

2023-04-11
阅读 12 分钟
1.1k
MySQL Replication(主从复制)是指数据变化可以从一个MySQL Server被复制到另一个或多个MySQL Server上,通过复制的功能,可以在单点服务的基础上扩充数据库的高可用性、可扩展性等。

月光宝盒(vivo流量录制回放平台)正式对外开源

2023-04-07
阅读 4 分钟
3.7k
月光宝盒是一个基于流量录制回放的自动化测试平台,通过录制回放取代编写脚本进行自动化回归,提升测试效率和覆盖率。因为其解决方案具有很强的通用性,所以我们把这它开源出来,希望能帮助到有需要的用户。

Hive 和 Spark 分区策略剖析

2023-04-03
阅读 11 分钟
1.1k
随着技术的不断的发展,大数据领域对于海量数据的存储和处理的技术框架越来越多。在离线数据处理生态系统最具代表性的分布式处理引擎当属Hive和Spark,它们在分区策略方面有着一些相似之处,但也存在一些不同之处。

vivo 手机云服务建设之路-平台产品系列04

2023-03-31
阅读 7 分钟
1k
手机云服务目前作为每家手机厂商必备的一项基础服务,其服务能力和服务质量对用户来说可以说是非常重要。用户将自己大量的信息数据存储在云端,那我们的云端服务如何保证服务的稳定和数据的安全,以及如何应对越来越多用户群体的使用?本文将主要介绍 vivo 手机云服务系统的建设历程。

Android系统服务DropBoxManagerService详解与实践应用

2023-03-27
阅读 8 分钟
715
借助系统DropBoxManagerService对于系统文件目录dropbox管理的设计,了解其文件管理的规则、运行机制、读写机制、管控机制,根据其设计一个客户端日志文件管理与上报功能

循序渐进讲解负载均衡vivoGateway(VGW)

2023-03-24
阅读 8 分钟
883
在大规模业务场景中,已经不可能通过单机提供业务,这就衍生出了负载均衡的需求。为了满足合适可靠的负载,本文将从简单的基础需求出发,一步步推进并解释如何建立负载均衡平台。

Tars-Java网络编程源码分析

2023-03-20
阅读 13 分钟
753
Tars是腾讯开源的支持多语言的高性能RPC框架,起源于腾讯内部2008年至今一直使用的统一应用框架TAF(Total Application Framework),目前支持C++、Java、PHP、Nodejs、Go语言。

vivo 短视频用户访问体验优化实践

2023-03-17
阅读 9 分钟
844
我们平时在看抖音快手视频的时候,如果滑动到某个视频画面一直几s不动的时候,大概率就会划走了,所以在短视频项目中,画面卡顿是非常影响用户体验的,启播速度越快,就越能留住用户。