SF
vivo 互联网技术
vivo 互联网技术
注册登录
关注博客
注册登录
主页
关于
RSS
Elasticsearch 在地理信息空间索引的探索和演进
vivo互联网技术
2022-06-27
阅读 17 分钟
1.6k
本文梳理了Elasticsearch对于数值索引实现方案的升级和优化思考,从2015年至今数值索引的方案经历了多个版本的迭代,实现思路从最初的字符串模拟到KD-Tree,技术越来越复杂,能力越来越强大,应用场景也越来越丰富。从地理位置信息建模到多维坐标,数据检索到数据分析洞察都可以看到Elasticsearch的身影。
剖析 SPI 在 Spring 中的应用
vivo互联网技术
2022-06-21
阅读 29 分钟
1.6k
SPI(Service Provider Interface),是Java内置的一种服务提供发现机制,可以用来提高框架的扩展性,主要用于框架的开发中,比如Dubbo,不同框架中实现略有差异,但核心机制相同,而Java的SPI机制可以为接口寻找服务实现。SPI机制将服务的具体实现转移到了程序外,为框架的扩展和解耦提供了极大的便利。
vivo 容器集群监控系统架构与实践
vivo互联网技术
2022-06-20
阅读 5 分钟
1.9k
从容器技术的推广以及 Kubernetes成为容器调度管理领域的事实标准开始,云原生的理念和技术架构体系逐渐在生产环境中得到了越来越广泛的应用实践。在云原生的体系下,面对高度的弹性、动态的应用生命周期管理以及微服务化等特点,传统的监控体系已经难以应对和支撑,因此新一代云原生监控体系应运而生。
vivo大规模 Kubernetes 集群自动化运维实践
vivo互联网技术
2022-06-14
阅读 6 分钟
2.1k
随着vivo业务迁移到K8s的增长,我们需要将K8s部署到多个数据中心。如何高效、可靠的在数据中心管理多个大规模的K8s集群是我们面临的关键挑战。kubernetes的节点需要对OS、Docker、etcd、K8s、CNI和网络插件的安装和配置,维护这些依赖关系繁琐又容易出错。
如何在 Vue 项目中,通过点击 DOM 自动定位VSCode中的代码行?
vivo互联网技术
2022-06-13
阅读 7 分钟
2.9k
现在大型的 Vue项目基本上都是多人协作开发,并且随着版本的迭代,Vue 项目中的组件数也会越来越多,如果此时让你负责不熟悉的页面功能开发,甚至你才刚刚加入这个项目,那么怎么样才能快速找到相关组件在整个项目代码中的文件位置呢?想必大家都有采取过以下这几种方法:
探究Presto SQL引擎(3)-代码生成
vivo互联网技术
2022-06-07
阅读 21 分钟
1.9k
探究Presto SQL引擎 系列:第1篇《探究Presto SQL引擎(1)-巧用Antlr》介绍了Antlr的基本用法以及如何使用Antlr4实现解析SQL查询CSV数据,在第2篇《探究Presto SQL引擎(2)-浅析Join》结合了Join的原理,以及Join的原理,在Presto中的思路。
Kafka 负载均衡在 vivo 的落地实践
vivo互联网技术
2022-06-06
阅读 10 分钟
2.2k
副本迁移是Kafka最高频的操作,对于一个拥有几十万个副本的集群,通过人工去完成副本迁移是一件很困难的事情。Cruise Control作为Kafka的运维工具,它包含了Kafka 服务上下线、集群内负载均衡、副本扩缩容、副本缺失修复以及节点降级等功能。显然,Cruise Control的出现,使得我们能够更容易的运维大规模Kafka集群。 备...
C/C++ 单元自动化测试解决方案实践
vivo互联网技术
2022-05-31
阅读 5 分钟
2.7k
C/C++ 开发效率一直被业内开发人员诟病,单元测试开发效率也是如此,以至于开发人员不愿花时间来写单元测试。那么我们是不是可以通过改善编写单元测试的效率来提升项目的测试用例覆盖率?
理“ Druid 元数据”之乱
vivo互联网技术
2022-05-30
阅读 11 分钟
2k
vivo 互联网大数据团队-Zheng Xiaofeng一、背景Druid 是一个专为大型数据集上的高性能切片和 OLAP 分析而设计的数据存储系统。由于Druid 能够同时提供离线和实时数据的查询,因此Druid最常用作为GUI分析、业务监控、实时数仓的数据存储系统。此外Druid拥有一个多进程,分布式架构,每个Druid组件类型都可以独立配置和扩...
Android 子线程 UI 操作真的不可以?
vivo互联网技术
2022-05-24
阅读 19 分钟
3.5k
我们以水平移动的方块模拟App正在进行的动效(如:页面切换);可以看出,在Snackabr 弹窗弹出时,方块动效有明显的卡顿(移动至约1/3处)。
Kafka 万亿级消息实践之资源组流量掉零故障排查分析
vivo互联网技术
2022-05-23
阅读 4 分钟
1.3k
为了让读者能与小编在后续的问题分析中有更好的共鸣,小编先与各位读者朋友对齐一下我们 Kafka 集群的部署架构及服务接入 Kafka 集群的流程。
层层剖析一次 HTTP POST 请求事故
vivo互联网技术
2022-05-17
阅读 7 分钟
2.5k
vivo 互联网服务器团队- Wei Ling本文主要讲述的是如何根据公司网络架构和业务特点,锁定正常请求被误判为跨域的原因并解决。一、问题描述某一个业务后台在表单提交的时候,报跨域错误,具体如下图:从图中可看出,报错原因为HTTP请求发送失败,由此,需先了解HTTP请求完整链路是什么。HTTP请求一般经过3个关卡,分别为D...
vivo 万台规模 HDFS 集群升级 HDFS 3.x 实践
vivo互联网技术
2022-05-16
阅读 17 分钟
2.8k
在HDFS方面,支持了Erasure Coding、More than 2 NameNodes、Router-Based Federation、Standby NameNode Read、FairCallQueue、Intra-datanode balancer 等新特性。这些新特性在稳定性、性能、成本等多个方面带来诸多收益,我们打算将HDFS集群升级到HDFS 3.x 版本。
用户行为分析模型实践(二)—— 漏斗分析模型
vivo互联网技术
2022-05-06
阅读 12 分钟
3.5k
在《用户行为分析模型实践(一)—— 路径分析模型》中,讲述了基于平台化查询中查询时间短、需要可视化的要求,并结合现有的存储计算资源以及具体需求,我们在实现中将路径数据进行枚举后分为两次进行合并。
Redis 内存优化在 vivo 的探索与实践
vivo互联网技术
2022-05-05
阅读 10 分钟
3.8k
使用过 Redis 的同学应该都知道,它基于键值对(key-value)的内存数据库,所有数据存放在内存中,内存在 Redis 中扮演一个核心角色,所有的操作都是围绕它进行。
FastDFS 海量小文件存储解决之道
vivo互联网技术
2022-04-26
阅读 6 分钟
2.6k
支持 Linux、FreeBSD、AID 等Unix系统,解决了大容量的文件存储和高并发访问问题,文件存取实现了负载均衡,适合存储 4KB~500MB 之间的小文件,特别适合以文件为载体的在线服务,如图片、视频、文档等等。
Spark SQL 字段血缘在 vivo 互联网的实践
vivo互联网技术
2022-04-25
阅读 8 分钟
1.9k
作者:vivo互联网服务器团队-Hao Guangshi一、背景字段血缘是在表处理的过程中将字段的处理过程保留下来。为什么会需要字段血缘呢?有了字段间的血缘关系,便可以知道数据的来源去处,以及字段之间的转换关系,这样对数据的质量,治理有很大的帮助。Spark SQL 相对于 Hive 来说通常情况下效率会比较高,对于运行时间、资...
高效压缩位图在推荐系统中的应用
vivo互联网技术
2022-04-19
阅读 4 分钟
2k
用户在浏览游戏中心/应用商店的某些模块内容时,会进行一系列滑屏操作并多次请求游戏推荐业务来进行游戏推荐展示,这段时间我们称之为一个用户session。
探究Presto SQL引擎(2)-浅析Join
vivo互联网技术
2022-04-18
阅读 11 分钟
2.8k
在《探究Presto SQL引擎(1)-巧用Antlr》中,我们介绍了Antlr的基本用法以及如何使用Antlr4实现解析SQL查询CSV数据,更加深入理解Presto查询引擎支持的SQL语法以及实现思路。
解析分布式系统的缓存设计
vivo互联网技术
2022-04-12
阅读 13 分钟
4.7k
一、缓存简介1.1 什么是缓存缓存就是数据交换的缓冲区。缓存的本质是一个内存 Hash。缓存是一种利用空间换时间的设计,其目标就是更快、更近:极大的提高。将数据写入/读取速度更快的存储(设备);将数据缓存到离应用最近的位置;将数据缓存到离用户最近的位置。缓存是用于存储数据的硬件或软件的组成部分,以使得后续...
状态机引擎在vivo营销自动化中的深度实践 | 引擎篇02
vivo互联网技术
2022-04-11
阅读 14 分钟
4k
营销自动化平台支持多种不同类型运营活动策略(比如:短信推送策略、微信图文推送策略、App Push推送策略),每种活动类型都有各自不同的执行流程和活动状态。比如短信活动的活动执行流程如下:
深入剖析 RocketMQ 源码 - 负载均衡机制
vivo互联网技术
2022-04-07
阅读 22 分钟
2.5k
RocketMQ是一款优秀的分布式消息中间件,在各方面的性能都比目前已有的消息队列要好,RocketMQ默认采用长轮询的拉模式, 单机支持千万级别的消息堆积,可以非常好的应用在海量消息系统中。
vivo 短视频推荐去重服务的设计实践
vivo互联网技术
2022-04-06
阅读 7 分钟
1.7k
vivo短视频在视频推荐时需要对用户已经看过的视频进行过滤去重,避免给用户重复推荐同一个视频影响体验。在一次推荐请求处理流程中,会基于用户兴趣进行视频召回,大约召回2000~10000条不等的视频,然后进行视频去重,过滤用户已经看过的视频,仅保留用户未观看过的视频进行排序,选取得分高的视频下发给用户。
vivo 商品中台的可视化微前端实践
vivo互联网技术
2022-03-29
阅读 7 分钟
3k
在电商领域内,商品是一个重要组成部分,与其对应的商品管理系统,则负责商品的新建、编辑、复制等功能。随着商品管理系统的成熟稳定和业务上的扩展需求,催化出了商品中台的诞生。它可以将现有商品功能最大效率的复用在很多业务上(公司内业务、公司外业务等)。而不是仅限于当前团队的业务使用。
时间轮原理及其在框架中的应用
vivo互联网技术
2022-03-28
阅读 16 分钟
2.2k
1)心跳检测。在Dubbo中,需要有心跳机制来维持Consumer与Provider的长连接,默认的心跳间隔是60s。当Provider在3次心跳时间内没有收到心跳响应,会关闭连接通道。当Consumer在3次心跳时间内没有收到心跳响应,会进行重连。Provider侧和Consumer侧的心跳检测机制都是通过定时任务实现的,而且是本篇文章要分析的时间轮Ha...
跑马灯带你深入浅出TextView的源码世界
vivo互联网技术
2022-03-22
阅读 8 分钟
3.2k
但是大家平时开发过程中肯定会遇到这样或那样的小问题,通过百度、Google搜索都无果,想尝试分析源码又不知道从什么地方开始分析起,导致最终放弃。
JVM自定义类加载器在代码扩展性的实践
vivo互联网技术
2022-03-21
阅读 13 分钟
2.9k
名单管理系统是手机上各个模块将需要管控的应用配置到文件中,然后下发到手机上进行应用管控的系统,比如各个应用的耗电量管控;各个模块的管控应用文件考虑到安全问题,有自己的不同的加密方式,按照以往的经验,我们可以利用模板方法+工厂模式来根据模块的类型来获取到不同的加密方法。代码类层次结构示意如下:
HBase海量数据高效入仓解决方案
vivo互联网技术
2022-03-15
阅读 2 分钟
1.8k
现阶段部分业务数据存储在HBase中,这部分数据体量较大,达到数十亿。大数据需要增量同步这部分业务数据到数据仓库中,进行离线分析,目前主要的同步方式是通过HBase的hive映射表来实现的。该种方式具有以下痛点:
vivo鲁班RocketMQ平台的消息灰度方案
vivo互联网技术
2022-03-14
阅读 10 分钟
2.2k
RocketMQ(以下简称MQ)作为消息中间件在事务管理,异步解耦,削峰填谷,数据同步等应用场景中有着广泛使用。当业务系统进行灰度发布时,Dubbo与HTTP的调用可以基于业界通用的灰度方式在我们的微服务治理与网关平台来实现,但MQ已有的灰度方案都不能完全解决消息的隔离与切换衔接问题,为此,我们在鲁班MQ平台(包含根因...
Dubbo服务如何优雅的校验参数
vivo互联网技术
2022-03-08
阅读 13 分钟
4.3k
服务端在向外提供接口服务时,不管是对前端提供HTTP接口,还是面向内部其他服务端提供的RPC接口,常常会面对这样一个问题,就是如何优雅的解决各种接口参数校验问题?
上一页
1
…
More
5
6
7
(current)
8
9
…
More
下一页
上一页
7
(current)
下一页