深入浅出负载均衡
负载均衡是高并发、高可用系统必不可少的关键组件,目标是尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。本文先介绍负载均衡的作用以及技术分类,接下来详细介绍负载均衡的常见算法特性及具体实现。通过这些内容,能够帮助读者对负载均衡的特性及原理有一个较为全面的认知。
深入理解netty---从偶现宕机看netty流量控制
Netty是一款高性能网络IO框架,本文结合线上长连接真实案例,深入讲述Netty的流量控制原理以及问题解决的思路和步骤。
vivo 微服务 API 网关架构实践
基于Zuul2进行定制化改造,打造一个功能齐全的业务网关。
Sentinel 是如何做限流的
本文主要介绍了阿里巴巴提供的Sentinel的限流功能。通过源码阅读,探究Sentinel限流功能的底层实现原理,讲解了Sentinel的责任链模式及滑动窗口限流算法。通过本文的学习,可以了解Sentinel限流功能的具体实现原理,指导我们对Sentinel的使用,通过Sentinel提供的限流能力
vivo 全球商城:架构演进之路
讲述vivo官方商城从单体应用到具备综合能力电商平台的演进,系统架构往服务化、中台化变迁历程。
如何编写高质量的 JS 函数(2) -- 命名/注释/鲁棒篇
此篇将会从函数的命名、注释和鲁棒性方面,阐述如何编写高质量的JS函数。
Android 原生 SQLite 数据库的一次封装实践
本文主要讲述原生SQLite数据库的一次ORM封装实践,给使用原生数据库操作的业务场景(如:本身是一个SDK)带来一些启示和参考意义,以及跟随框架的实现思路对数据库操作、APT、泛型等概念更深一层的理解。
2021年vivo互联网技术最受欢迎文章TOP25
岁月流转,时光飞逝,转眼2021年已经画上句号。过去一年,vivo互联网技术共推送了107篇文章,涉及服务器、前端、数据库等技术。
源码深度解析 Handler 机制及应用
以源码分析+实际应用的形式,详细讲解了Handler机制的原理,以及在开发中的使用场景和要注意的地方。
为什么 JavaScript 中 0.1+0.2 不等于 0.3 ?
在js中进行数学运算时,会出现0.1+0.2=0.300000000000000004的结果,一开始认为是浮点数的二进制存储导致的精度问题,但这似乎不能很好的解释为什么在同样的存储方式下0.3+0.4=0.7可以得到正确的结果。本篇笔记主要通过浮点数的二进制存储及运算,和IEEE754下的舍入规则,
十亿级流量下,我与Redis时延小突刺的战斗史
本文记录了一次线上服务,慢接口报警的解决流程,包括遇到线上问题的应急方案、分析问题的思路,主要集中在Redis响应比较慢时的分析和解决方案,通过对问题解决过程的总结,希望可以给大家一些参考。
分布式搜索引擎Elasticsearch的架构分析
本文作者将介绍ES的分布式架构,以及ES的存储原理和写索引机制。
vivo商城促销系统架构设计与实践-概览篇
本篇属于vivo商城促销系统概览介绍篇,重点对促销系统的技术架构、核心模块以及相关技术挑战进行介绍说明。
深入剖析 RSA 密钥原理及实践
本文从算法原理和组成结构出发,对RSA密钥进行了深入剖析,之后通过案例对RSA证书在不同场景下的应用做了介绍。
高效动画实现原理-Jetpack Compose 初探索
随着google推出JetpackCompsoe工具包,Android能轻松实现声明式的开发,文章将介绍声明式动效的强大与简洁之处。
图解 Promise 实现原理(一)—— 基础实现
本系列文章由浅入深逐步实现Promise,并结合流程图、实例以及动画进行演示,达到深刻理解Promise用法的目的
JDK ThreadPoolExecutor核心原理与实践
本文内容主要围绕JDK中的ThreadPoolExecutor展开,首先描述了ThreadPoolExecutor的构造流程以及内部状态管理的机理,随后用大量篇幅深入源码探究了ThreadPoolExecutor线程分配、任务处理、拒绝策略、启动停止等过程,其中对Worker内置类进行重点分析。
深入剖析RocketMQ源码-NameServer
RocketMQ是基于主题的发布与订阅模式设计的一款高性能、高吞吐量的消息队列,抛弃了业界常用的Zookeeper,而是使用自研的NameServer来实现元数据的管理。本文基于NameServer的源码来深入剖析NameServer的实现原理以及其中的一些编程技巧。
vivo 悟空活动中台 - 微组件状态管理(下)
悟空活动中台作为vivo移动互联网首选的在线制作活动平台,有哪些关键能力支撑了它?
MySQL 8 新特性之Clone Plugin
ClonePlugin是MySQL8.0.17引入的一个重大特性,为什么要实现这个特性呢?个人感觉,主要还是为GroupReplication服务。在GroupReplication中,添加一个新的节点,差异数据的补齐是通过分布式恢复(DistributedRecovery)来实现的。在MySQL8