作者:vivo互联网大数据团队XuYu 在增效降本的大背景下,vivo大数据基础团队引入Hudi组件为公司业务部门湖仓加速的场景进行赋能。主要应用在流批同源、实时链路优化及宽表拼接等业务场景。 一、Hudi基础能力及相关概念介绍 1.1流批同源能力 与Hive不同,Hudi数据在Spark/Flink写入后,下游可以继续使用Spark/Flink引擎以流读的形式实时读取数据。同一份Hudi数据源既可以批读也支持流读。 Flink、Hive、Spark的流转批架构: Hudi流批同源架构: 1.2COW和MOR的概念 Hudi支持COW(CopyOnWrite)和MOR(MergeOnR...

作者:vivo互联网服务器团队ChenHan 容器平台针对业务资源申请值偏大的运营问题,通过静态超卖和动态超卖两种技术方案,使业务资源申请值趋于合理化,提高平台资源装箱率和资源利用率。 一、背景 在Kubernetes中,容器申请资源有request和limit概念来描述资源请求的最小值和最大值。 requests值在容器调度时会结合节点的资源容量(capacity)进行匹配选择节点。 limits表示容器在节点运行时可以使用的资源上限,当尝试超用资源时,CPU会被约束(throttled),内存会终止(oom-kill)。 总体而言,在调度的时候requests比较重要,在运行时li...

作者:vivo互联网安全团队LuoBingsong 前端代码都是公开的,为了提高代码的破jie成本、保证JS代码里的一些重要逻辑不被居心叵测的人利用,需要使用一些加密和混淆的防护手段。 一、概念解析 1.1什么是接口加密 如今这个时代,数据已经变得越来越重要,网页和APP是主流的数据载体,如果获取数据的接口没有设置任何的保护措施的话,数据就会被轻易地窃取或篡改。 除了数据泄露外,一些重要功能的接口如果没有做好保护措施也会被恶意调用造成DDoS、条件竞争等攻ji效果,比如如下几个场景: 一些营销活动类的Web页面,领红包、领券、投票、抽奖等活动方式很常见。此类活动对于普通用户来说应该是“拼...

作者:vivo互联网服务器团队ZengLuobin 本文主要介绍了RocksDB的基础原理,并阐述了RocksDB在vivo消息推送系统中的一些实践,通过分享一些对RocksDB原生能力的探索,希望可以给使用RocksDB的读者带来启发。 一、背景 在消息推送系统中,业务方服务器通过调用推送接口向VPUSH服务发送消息,请求中会包含一个registerId,用于标识接收该消息的用户设备。当VPUSH服务接收到推送请求时,会使用registerId找到对应的用户,并将消息推送给其手机。然而,在VPUSH内部处理消息推送时,需要使用一个内部标识符ClientId来标识每个用户的设备,可以通过C...

作者:vivo互联网数据库团队LiuHuang 本文介绍了一次排查Elasticsearchnode_concurrent_recoveries引发的性能问题的过程。 一、故障描述 1.1故障现象 1.业务反馈 业务部分读请求抛出请求超时的错误。 2.故障定位信息获取 故障开始时间 19:30左右开始 故障抛出异常日志 错误日志抛出timeout错误。 故障之前的几个小时业务是否有进行发版迭代。 未进行相关的发版迭代。 故障的时候流量是否有出现抖动和突刺情况。 内部监控平台观察业务侧并没有出现流量抖动和突刺情况。 故障之前的几个小时Elasticsearch集群是否有出现...

  1e1eAFDdY2vd   2023年11月24日   18   0   0 性能elasticsearch性能elasticsearch

作者:vivo互联网大数据团队-WangLei 本文是vivo互联网大数据团队《BI数据可视化平台建设》系列文章第2篇-筛选器组件。 本文主要介绍了BI数据可视化平台建设中比较核心的筛选器组件,涉及组件分类、组件库开发等升级实践经验,通过分享一些对交互和业务耦合度高的组件开发迭代的思考,希望可以给正在做组件重构解耦的读者带来启发。 往期系列文章:BI数据可视化平台建设(1)—交叉表组件演变实战 一、引言 BI产品通常包含大量复杂的数据信息,需要对其进行快速和准确的处理和分析。筛选器可以帮助BI产品的用户快速地定位所需信息,并从海量数据中筛选出有用的数据,以便进行深入的分析和决策。敏捷BI作...

  1e1eAFDdY2vd   2023年11月19日   13   0   0 UI筛选器迭代ui筛选器迭代

作者:vivo互联网服务器团队LiuYanjiang 月光宝盒是一个基于流量录制回放的自动化测试平台,通过录制回放取代编写脚本进行自动化回归,提升测试效率和覆盖率。因为其解决方案具有很强的通用性,所以我们把这它开源出来,希望能帮助到有需要的用户。 一、月光宝盒是什么? Moonbox(月光宝盒)是 JVM-Sandbox 生态下的一款流量录制回放产品。所谓流量录制回放是服务端通过挂载agent探针自动注册到服务端,拦截服务端调用,将所有外部调用依赖的内容(如数据库、分布式缓存、外部服务响应等)进行完整记录形成录制流量。其核心价值是通过录制流量数据,将流量数据转化成可复用...

  1e1eAFDdY2vd   2023年11月13日   14   0   0 流量回放自动化测试流量录制

作者:vivo互联网服务器团队XuShen 本文主要介绍vivo内部研发平台使用JaCoCo实现测试覆盖率的实践,包括JaCoCo原理介绍以及在实践过程中遇到的新增代码覆盖率统计问题和频繁发布导致覆盖率丢失问题的解决办法。 一、为什么需要测试覆盖率 1.1在日常研发过程中,经常发现一些问题 测试案例的设计凭经验,当研发一个新功能时,经常对测试场景估计不足,到上线后发现bug; 开发经常做一些需求之外的代码变更(代码小范围内重构或在开发过程中发现小缺陷随手改掉),导致测试任务无法测试到对应的场景,引起线上问题; 对测试效果无法量化考核,导致测试工作的质量无法进一步提升。 1.2.有没有技...

作者:vivo互联网安全团队PengQiankun 随着互联网业务的快速发展,网络攻ji的频率和威胁性也在不断增加,端口是应用通信中的门户,它是数据进出应用的必经之路,因此端口安全也逐渐成为了企业内网的重要防线之一,然而网络端口因其数量庞大、端口开放和关闭的影响评估难度大,业务影响程度高、以及异常识别技术复杂度高等特点给网络端口安全治理带来了一定挑战,如何对端口风险进行有效治理几乎是每个企业安全团队在攻ji面管理工作中持续探索的重点项。 一、网络端口简介 在网络空间中,标记一个服务资源实体最基本的两个要素就是IP和逻辑端口,二者构建服务资源实体的唯一标志符。 1. 常见的端口分布...

作者:vivo互联网中间件团队WangXiaochuang 本文主要介绍在vivo内部针对Dubbo路由模块及负载均衡的一些优化手段,主要是异步化+缓存,可减少在RPC调用过程中路由及负载均衡的CPU消耗,极大提升调用效率。 一、概要 vivo内部Java技术栈业务使用的是ApacheDubbo框架,基于开源社区2.7.x版本定制化开发。在海量微服务集群的业务实践中,我们发现Dubbo有一些性能瓶颈的问题会极大影响业务逻辑的执行效率,尤其是在集群规模数量较大时(提供方数量>100)时,路由及负载均衡方面有着较大的CPU消耗,从采集的火焰图分析高达30%。为此我们针对vivo内部常用路...

作者:AntonHägerstrand 翻译:杨振涛  目录: 数据量 版本 节点配置 索引结构 性能 Meltwater每天要处理数百万量级的帖子数据,因此需要一种能处理该量级数据的存储和检索技术。 从0.11.X版本开始我们就已经是Elasticsearch的忠实用户了。在经历了一些波折之后,最终我们认为做出了正确的技术选型。 Elasticsearch用于支持我们的主要媒体监控应用,客户通过该应用可以检索和分析媒体数据,比如新闻文章、(公开的)Facebook帖子、Instagram帖子、博客和微博。我们通过使用一个混合API来收集这些内容,并爬取和稍作加工,使得它...

作者:vivo互联网服务器团队JiangZhu 本文以线上诡异问题为切入点,通过对比JDKThreadLocal和NettyFastThreadLocal实现逻辑以及优缺点,并深入解读源码,由浅入深理解NettyFastThreadLocal。 一、前言 最近在学习Netty相关的知识,在看到NettyFastThreadLocal章节中,回想起一起线上诡异问题。 问题描述:外销业务获取用户信息判断是否支持https场景下,获取的用户信息有时候竟然是错乱的。 问题分析:使用ThreadLocal保存用户信息时,未能及时进行remove()操作,而Tomcat工作线程是基于线程池的,会出现...

作者:vivo互联网运维团队PengJiahong 本文介绍了vivo业务运维证书管理从手工到平台化的历程。 一、背景 以往,vivo互联网业务的域名证书运维管理工作,严重依赖经验丰富的高级运维工程师个人专职管理,证书管理存在单点以及过于依赖的人的情况。 随着业务规模的持续扩大,以及对证书管理质量标准的要求提升,加强全网证书信息准确的收敛把控。 为此,业务运维团队决定,通过证书管理流程标准化、平台化,完成全生命周期管理证书,来消除因依赖人为管理证书问题导致业务可用性受损的痛点。 二、能力规划 全生命周期管理业务证书,我们建设的平台需具备以下特性和能力: 高效的证书申请: 新申请以及续...

  1e1eAFDdY2vd   2023年11月02日   26   0   0 运维开发运维自动化证书管理

作者:vivo互联网服务器团队LuoJianxin 重点介绍了Redis的LRU与LFU算法实现,并分析总结了两种算法的实现效果以及存在的问题。 一、前言 Redis是一款基于内存的高性能NoSQL数据库,数据都缓存在内存里,这使得Redis可以每秒轻松地处理数万的读写请求。 相对于磁盘的容量,内存的空间一般都是有限的,为了避免Redis耗尽宿主机的内存空间,Redis内部实现了一套复杂的缓存淘汰策略来管控内存使用量。 Redis4.0版本开始就提供了8种内存淘汰策略,其中4种都是基于LRU或LFU算法实现的,本文就这两种算法的Redis实现进行了详细的介绍,并阐述其优劣特性。 二、Red...

  1e1eAFDdY2vd   2023年11月02日   56   0   0 LFUredisLRU

作者:vivo互联网服务器团队MingYujia 随着网络规模的快速发展,网络状况的良好与否已经直接关系到了企业的日常收益,故障中的每一秒都会导致大量的用户流失与经济亏损。因此,如何快速发现网络问题与定位异常流量已经成为大型企业内必须优先解决的问题,诸多网络流量分析技术也同时应运而生。 一、概述 随着网络规模的快速发展,网络状况的良好与否已经直接关系到了企业的日常收益,故障中的每一秒都会导致大量的用户流失与经济亏损。每一家企业都在不断完善自己的网络监控手段,但在监控体系建设过程中,却又不可避免的面临以下难点: 网络流量数据庞大:由于网络流量的规模和复杂性都非常高,很难对大量的数据进行有效...

  1e1eAFDdY2vd   2023年11月02日   31   0   0 流量监控

作者:vivo互联网服务器团队JiangYe 本文详细的记录了一次0点接口严重超时的问题排查经历。本文以作者自身视角极具代入感的描绘了从问题定位到具体的问题排查过程,并通过根因分析并最终解决问题。整个过程需要清晰的问题排查思路和丰富的问题处理经验,也离不开公司强大的调用链、和全方位的系统监控等基础设施。 一、问题发现 我所负责的商城活动系统用于承接公司线上官方商城的营销活动,最近突然收到凌晨0点的服务超时告警。 营销活动类的系统有如下特点: 营销活动一般会0点开始,如红包雨、大额优惠券抢券等。 日常营销活动的机会刷新,如每日任务,每日签到,每日抽奖机会的刷新等。 营销活动的利益刺激会吸...

  1e1eAFDdY2vd   2023年11月02日   33   0   0 问题排查线程block接口超时

作者:vivo互联网安全团队CaiYifan 在数字化、移动化的浪潮下,游戏产业迅速发展,尤其疫情过后许多游戏公司业务迎来新的增长点。 游戏行业从端游开始一直是黑灰产活跃的重要场景。近年来,随着互联网的发展和手机市场的不断壮大,手游的用户规模不断增长,黑产在手游市场的活跃程度不断提升。 游戏行业的黑产问题一般指的是游戏开发者关注的游戏内的黑产问题,而vivo作为手机厂商,或者更准确地讲,作为游戏分发平台,我们所关注的黑产问题与游戏开发者又有何不同呢?在黑产对抗上,vivo与游戏开发者相比,又有哪些优劣势? 本文将探讨vivo游戏黑产的作弊动机和特征,并分享vivo互联网安全团队与黑产对抗的...

  1e1eAFDdY2vd   2023年11月02日   26   0   0

作者:vivo互联网数据分析团队LuoYandong、ZhangLingchao 本文介绍了互联网业务数据效果评估的几种常见问题及方法,并基于分层抽样的逻辑优化出一套可应用于解决用户不均匀的“事后达尔文"分析法,可适用于无法AB测试或人群不均匀的AB测试等场景下的效果评估中,本文会基于实际应用案例,来给大家仔细阐述相关方法模型的思考过程,实现原理,应用结果,希望能够帮助大家,如果能对大家在各自领域中的业务效果评估有所助益的话,那就更棒了! 一、引言 游戏业务作为公司重点的创收团队,为了更好的达成营收结果,需要不定期地开展各类运营活动来促进玩家付费转化、提升玩家付费水平,这就要求我们游戏数据...

  1e1eAFDdY2vd   2023年11月02日   52   0   0

作者:vivo互联网数据分析团队LiBingchao AB实验是业务不断迭代、更新时最高效的验证方法之一;但在进行AB实验效果评估时需要特别关注“用户不均匀”的问题,稍不注意,产出的研究结论就可能谬以千里,给业务决策带来极大风险。因此我们游戏业务针对该问题,借助霍金实验团队已经实现的分层抽样(协变量平衡算法)能力,探究出一套基于用户分层逻辑的“事前用户分层”方案,和霍金实验平台项目团队、版本发布项目团队共同协作推进方案落地,提升游戏业务AB实验的用户均匀性。本文会基于实际应用案例,来给大家仔细阐述相关方法模型的思考过程,实现原理,应用结果,希望能够帮助大家在各自领域中解决用户不均匀问题时带...

  1e1eAFDdY2vd   2023年11月02日   34   0   0

作者:vivo互联网容器团队HanRucheng 本文介绍了vivo容器团队基于Prometheus等云原生监控生态来构建的容器集群监控体系,在业务接入容器监控的过程中遇到的挑战、困难,并分享了相应的应对策略和优化方案。 一、背景介绍 随着vivo业务迁移到容器平台,vivo云原生监控体系面临着指标量快速上涨带来的一系列挑战,本文将分享vivo容器化项目中容器监控遇到的问题以及我们的解决和优化方法。 二、监控架构 首先对vivo容器监控架构进行一个简单的介绍。 【架构高可用】:集群维度的双副本Prometheus采集底层exporter数据,adapter多实例自动选主实现容灾。 【数...

  1e1eAFDdY2vd   2023年11月02日   19   0   0
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~