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

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

Spring 七种事务传播性介绍

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

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

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

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

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

vivo 容器平台资源运营实践

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

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

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

RocksDB 在 vivo 消息推送系统中的实践

2023-12-08
阅读 15 分钟
944
本文主要介绍了 RocksDB 的基础原理,并阐述了 RocksDB 在vivo消息推送系统中的一些实践,通过分享一些对 RocksDB 原生能力的探索,希望可以给使用RocksDB的读者带来启发。

线上ES集群参数配置引起的业务异常案例分析

2023-11-23
阅读 8 分钟
907
作者:vivo 互联网数据库团队- Liu Huang本文介绍了一次排查Elasticsearch node_concurrent_recoveries 引发的性能问题的过程。一、故障描述1.1 故障现象1. 业务反馈业务部分读请求抛出请求超时的错误。2. 故障定位信息获取故障开始时间19:30左右开始故障抛出异常日志错误日志抛出timeout错误。故障之前的几个小时业务是...

BI 数据可视化平台建设(2)—筛选器组件升级实践

2023-11-16
阅读 6 分钟
1.1k
本文主要介绍了BI数据可视化平台建设中比较核心的筛选器组件, 涉及组件分类、组件库开发等升级实践经验,通过分享一些对交互和业务耦合度高的组件开发迭代的思考,希望可以给正在做组件重构解耦的读者带来启发。

BI 数据可视化平台建设(1)—交叉表组件演变实战

2023-11-09
阅读 8 分钟
843
作者:vivo 互联网大数据团队 - Zhu Jianchen本文是vivo互联网大数据团队《BI数据可视化平台建设》系列文章第1篇 - 交叉表组件。交叉表在数据分析里应用广泛,通过本文,你将了解到:交叉表的基本概念,以及BI可视化平台常见术语。我们的表格类组件的演化过程,以及如何通过技术调研和优化实现大数据量下渲染性能,一步...

vivo 网络端口安全建设技术实践

2023-11-03
阅读 10 分钟
1.9k
随着互联网业务的快速发展,网络攻击的频率和威胁性也在不断增加,端口是应用通信中的门户,它是数据进出应用的必经之路,因此端口安全也逐渐成为了企业内网的重要防线之一,然而网络端口因其数量庞大、端口开放和关闭的影响评估难度大,业务影响程度高、以及异常识别技术复杂度高等特点给网络端口安全治理带来了一定挑...

Dubbo 路由及负载均衡性能优化

2023-10-26
阅读 15 分钟
639
本文主要介绍在vivo内部针对Dubbo路由模块及负载均衡的一些优化手段,主要是异步化+缓存,可减少在RPC调用过程中路由及负载均衡的CPU消耗,极大提升调用效率。

深入理解 Netty FastThreadLocal

2023-10-23
阅读 14 分钟
759
本文以线上诡异问题为切入点,通过对比JDK ThreadLocal和Netty FastThreadLocal实现逻辑以及优缺点,并深入解读源码,由浅入深理解Netty FastThreadLocal。

记一次Redis Cluster Pipeline导致的死锁问题

2023-10-12
阅读 10 分钟
943
本文介绍了一次排查Dubbo线程池耗尽问题的过程。通过查看Dubbo线程状态、分析Jedis连接池获取连接的源码、排查死锁条件等方面,最终确认是因为使用了cluster pipeline模式且没有设置超时时间导致死锁问题。

MySQL到TiDB:Hive Metastore横向扩展之路

2023-09-28
阅读 10 分钟
980
本文介绍了vivo在大数据元数据服务横向扩展道路上的探索历程,由实际面临的问题出发,对当前主流的横向扩展方案进行了调研及对比测试,通过多方面对比数据择优选择TiDB方案。其次分享了整个扩展方案流程、实施遇到的问题及解决方案,对于在大数据元数据性能上面临同样困境的开发者本篇文章具有非常高的参考借鉴价值。

开源框架中的责任链模式实践

2023-09-21
阅读 21 分钟
1k
在GoF 的《设计模式》一书中对责任链模定义的:将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止或者所有接收对象处理一遍。

vivo数据中心网络链路质量监测的探索实践

2023-09-14
阅读 4 分钟
707
网络质量监测中心是一个用于数据中心网络延迟测量和分析的大型系统。通过部署在服务器上的Agent发起5次ICMP Ping以获取端到端之间的网络延迟和丢包率并推送到存储与分析模块进行聚合和分析与存储。控制器负责分发PingList并通过数据中心内部消息通道将PingList下发至每台服务器上的Agent,而PingList就是每个Agent需要发...

K8s 多集群实践思考和探索

2023-09-07
阅读 9 分钟
1k
本文主要讲述了一些对于K8s多集群管理的思考,包括为什么需要多集群、多集群的优势以及现有的一些基于Kubernetes衍生出的多集群管理架构实践。

JVM 内存大对象监控和优化实践

2023-08-28
阅读 8 分钟
968
服务器内存问题是影响应用程序性能和稳定性的重要因素之一,需要及时排查和优化。本文介绍了某核心服务内存问题排查与解决过程。首先在JVM与大对象优化上进行了有效的实践,其次在故障转移与大对象监控上提出了可靠的落地方案。最后,总结了内存优化需要考虑的其他问题。

联邦学习:对“数据隐私保护”和“数据孤岛”困境的破局

2023-08-24
阅读 7 分钟
1.4k
随着计算力、算法和数据量的巨大发展,人工智能迎来第3次发展高潮,开始了各行业的落地探索。然而,在“大数据”兴起的同时,更多行业应用领域中是“小数据”或者质量很差的数据。“数据孤岛”现象广泛存在,例如在信息安全领域的应用中,虽然多家企业推出了基于人工智能技术的内容安全审核、入侵检测等安全服务,但出于用户隐...

vivo 容器集群监控系统优化之道

2023-08-17
阅读 9 分钟
1.1k
本文介绍了vivo容器团队基于 Prometheus等云原生监控生态来构建的容器集群监控体系,在业务接入容器监控的过程中遇到的挑战、困难,并分享了相应的应对策略和优化方案。

vivo 场景下的 H5无障碍适配实践

2023-08-10
阅读 12 分钟
1.4k
随着信息无障碍的建设越来越受重视,开发人员在无障碍适配中也遇到了越来越多的挑战。本文是笔者在vivo开发H5项目做无障碍适配的实践总结。本文主要介绍了在前端项目中常用的无障碍手势和无障碍属性,并且结合具体的开发案例为开发者真实展示了适配要点,提供组件适配思路。希望本文能为前端开发者带来更多的参考和帮助。

高效构建 vivo 企业级网络流量分析系统

2023-08-04
阅读 5 分钟
831
随着网络规模的快速发展,网络状况的良好与否已经直接关系到了企业的日常收益,故障中的每一秒都会导致大量的用户流失与经济亏损。因此,如何快速发现网络问题与定位异常流量已经成为大型企业内必须优先解决的问题,诸多网络流量分析技术也同时应运而生。

AB实验遇到用户不均匀怎么办?—— vivo游戏中心业务实践经验分享

2023-08-03
阅读 5 分钟
1.1k
AB实验是业务不断迭代、更新时最高效的验证方法之一;但在进行AB实验效果评估时需要特别关注“用户不均匀”的问题,稍不注意,产出的研究结论就可能谬以千里,给业务决策带来极大风险。因此我们游戏业务针对该问题,借助霍金实验团队已经实现的分层抽样(协变量平衡算法)能力,探究出一套基于用户分层逻辑的“事前用户分层...

Android 架构模式如何选择

2023-07-31
阅读 25 分钟
938
Android架构模式飞速演进,目前已经有MVC、MVP、MVVM、MVI。到底哪一个才是自己业务场景最需要的,不深入理解的话是无法进行选择的。这篇文章就针对这些架构模式逐一解读。重点会介绍Compose为什么要结合MVI进行使用。希望知其然,然后找到适合自己业务的架构模式

HBase Compaction 原理与线上调优实践

2023-07-27
阅读 29 分钟
851
本文对 HBase Compaction 的原理、流程以及限流的策略进行了详细的介绍,列举了几个线上进行调优的案例,最后对 Compaction 的相关参数进行了总结。

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

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

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

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

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

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

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

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