岁月流转,时光飞逝,转瞬2021年曾经画上句号。过来一年,vivo 互联网技术共推送了107篇文章,波及服务器、前端、数据库等技术。
明天小编就带大家回顾一下2021年咱们最受欢迎的25篇文章(依据浏览量和点赞筛选)。
1
《MongoDB在评论中台的实际》
随着公司业务倒退和用户规模的增多,很多我的项目都在打造本人的评论性能,而评论的业务状态根本相似。过后各我的项目都是各自设计实现,存在较多反复的工作量;并且不同业务之间数据存在孤岛,很难产生分割。因而咱们决定打造一款公司级的评论业务中台,为各业务方提供评论业务的疾速接入能力。本文次要讲述 vivo 评论中台在数据库设计上的技术摸索和实际。
2
《详解Apache Dubbo的SPI实现机制》
本文次要剖析Dubbo中对 SPI机制实现形式及相干原理,以外围类ExtensionLoader的源码解读来将实现细节进行剖析,并对各应用场景应用扩大类的流程细节进行展现和总结。
3
《富文本及编辑器的跨平台计划》
本文将围绕富文本跨平台和编辑器跨平台两个局部介绍跨平台的价值,以及如何实现跨平台。通过一些计划介绍和踩坑分享,心愿能给有富文本编辑器跨平台相干需要的小伙伴带来一些帮忙。
4
《设计模式如何晋升 vivo 营销自动化业务扩展性 | 引擎篇01》
营销业务自身极具简单多变性,特地是随同着数字化营销蓬勃发展的趋势,在市场的不同期间、公司倒退的不同阶段、面向不同的用户群体以及继续成果稳定迭代,都会产生不同的营销策略决策。本文具体解析设计模式和相干利用如何帮忙营销自动化业务晋升零碎扩展性,以及实际过程中的思考和总结。
5
《带你走进MySQL全新高可用解决方案-MGR》
MGR(全称 MySQL Group Replication 【MySQL 组复制】)是Oracle MySQL于2016年12月公布MySQL 5.7.17推出的一个全新高可用和高扩大的解决方案。本文次要介绍MySQL Group Replication(组复制)技术的基本原理和技术演进史以及装置体验新个性。
6
《深刻分析 Spring WebFlux》
WebFlux 是一个异步非阻塞式的web框架 。外部以Reactor库为根底,能够在不裁减硬件资源的前提下进步零碎吞吐量。实用于IO密集型的服务。
7
《如何把 Caffeine Cache 用得如丝般顺滑》
举荐零碎等面向用户的后端服务通常须要多级缓存计划,通过本地-分布式缓存-数据库形式进行缓存减速。而 Caffeine Cache 正是基于 JAVA8 的高性能本地缓存组件,因其更无效的淘汰算法和良好的易用性,已被 Spring Boot 2.0 后续版本集成并代替了 Google Guava Cache。本文从最罕用的 get 办法入口,联合源代码,细数作者应用 Caffeine Cache 过程中遇到的各种坑和思考,作为闭坑指南分享给各位看官。
8
《初探 Redis 客户端 Lettuce:真香》
Jedis 是业界罕用的 Redis JAVA 客户端。而 Lettuce 是一款基于 Netty 实现的异步客户端,岂但逐渐笼罩了 Jedis 的各种性能,还在可靠性、易用性、可扩展性、可维护性等方面都有长足发展。笔者因我的项目须要,在一些场景下切换成 Lettuce 进行开发,并且心愿能相似 Jedis pipeline 一样晋升批量查问的性能。在对 Lettuce 进行了学习和踩坑后,笔者将过程中遇到的各种关键点总结成文章分享给大家。
9
《高并发场景下JVM调优实际之路》
JVM调优是零碎性能优化的重要伎俩之一,也是最为后端工程师津津有味的技术积淀之一,网络上曾经有十分丰盛的材料,不过大都偏差于实践,且没有一步一步落地的细节。本文着重于实际,一步一步介绍线上某外围服务的JVM调优落地过程,心愿能给读者提供JVM调优的思路和可参考、可落地的计划。
10
《深刻分析共识性算法 Raft》
分布式一致性 (distributed consensus) 是分布式系统中最根本的问题,用来保障一个分布式系统的可靠性以及容错能力。Raft 呈现之前,Paxos 始终是分布式一致性算法的规范。Paxos 难以了解,更难以实现。Raft 的设计指标是简化 Paxos,使得算法既容易了解,也容易实现。
TOP 11-25
深刻了解Netty-从偶现宕机看Netty流量管制
Netty是一款高性能网络IO框架,本文联合线上长连贯实在案例,深刻讲述Netty的流量管制原理以及问题解决的思路和步骤。
Hystrix实战经验分享
Hystrix是Netlifx开源的一款容错框架,防雪崩利器,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)等性能。本文从作者集体开发实战角度,总结分享Hystrix的应用教训,心愿大家能有所播种。
Redis线程模型的前世今生
Redis线程模型为什么要这么设计,有什么长处和毛病,有哪些思维是能够借鉴的...本文从网络IO的历史、Reactor模型的历史、到Redis线程模型的设计由浅入深,缓缓道来。
源码解读Dubbo分层设计思维
Dubbo是一款十分优良的分布式服务框架,国内应用十分的宽泛,2018年正式成为apache顶级我的项目。浏览本文你将理解到Dubbo的整体分层设计,每一层的意义,以及Dubbo的初始化流程和RPC调用过程,在这个过程波及到的畛域模型Protocol、Invoker、Exporter、Invocation、Result、URL等。本文的特点在于联合源码具体的介绍每一层的实际意义。
Kafka万亿级音讯实战
本文次要总结当Kafka集群流量达到 万亿级记录/天或者十万亿级记录/天 甚至更高后,咱们须要具备哪些能力能力保障集群高可用、高牢靠、高性能、高吞吐、平安的运行。这里总结内容次要针对Kafka2.1.1版本。
你分库分表的姿态对么?—详谈程度分库分表
随着后端数据库的存储量级和用户的拜访流量越来越大,咱们免不了须要对OLTP数据库进行分库分表操作,那么选取一个的程度分库分表计划就显得十分重要。本文具体介绍在程度分库分表中常见的一些误区,以及一些罕用的手法,以帮忙辨认可能存在的问题、少走弯路。
十亿级流量下,我与Redis时延小突刺的战斗史
本文记录了一次线上服务,慢接口报警的解决流程,包含遇到线上问题的应急计划、剖析问题的思路,次要集中在Redis响应比较慢时的剖析和解决方案,通过对问题解决过程的总结,心愿能够给大家一些参考。
vivo 寰球商城:优惠券零碎架构设计与实际
优惠券是电商常见的营销伎俩,具备灵便的特点,既能够作为促销流动的载体,也是重要的引流入口。本文次要介绍vivo商城优惠券业务倒退历程、架构设计思路及应答各种业务场景的实际。
Redis大集群扩容性能优化实际
在现网环境,一些应用Redis集群的业务随着业务量的上涨,往往须要进行节点扩容操作。本文介绍了一次大规模的Redis集群进行扩容操作遇到的性能问题,排查以及优化过程。
Dubbo 编解码那些事
Dubbo作为Java语言的RPC框架,劣势之一在于屏蔽了调用细节,可能像调用本地办法一样调用近程服务。本文基于理论问题,梳理dubbo编解码链路,以及Hessian2框架的序列化逻辑。有助于进步对于Dubbo框架的学习、应用和问题排查。
Java 多线程上下文传递在简单场景下的实际
海内商城从印度做起,缓缓的会有一些其余国家的诉求,这个时候须要咱们针对以后的商城做一个革新,能够撑持多个国家的商城,这里会波及多个问题,多语言,多国家,多时区,本地化等等。本文形容了vivo海内商城在倒退过程中为了适应多个国家的商城零碎开发 ,如何把辨认进去的国家信息在零碎中传递上来,并且解决多线程,定时工作等多种场景下的问题。
深度解析 Lucene 如何实现轻量级全文索引
Lucene是一个开放源码的全文检索引擎工具包,提供了残缺的查问引擎和索引引擎,局部语种文本剖析引擎。本文介绍了Lucene的相干应用心得,内容涵盖索引的生成、治理及搜寻性能等内容和自己在轻量级的数据搜寻中,深度解析Lucene如何实现全文索引。
深刻分析 RocketMQ 源码 - 音讯存储模块
音讯队列是一种服务间异步通信形式,广泛应用于微服务架构设计中的解耦、异步、削峰等场景。音讯在被解决和删除之前始终存储在队列上。RocketMQ 是 2012 年阿里巴巴开源的第三代分布式消息中间件,本文次要从源码角度讲述 RocketMQ 存储模块如何设计。
亿级用户核心的设计与实际
用户核心是互联网最为根底的外围零碎,随着业务和用户的增长,势必会带来一直的挑战。如何在亿级的状况下保证系统的高可用,高性能以及高平安,本文可能给你一套实际计划。
vivo对立告警平台建设与实际
在监控服务对立的大背景下,告警收敛能力下沉就成为必然,平台建设过程中,如何解决以前服务的痛点,充沛开释对立告警服务的通用能力,须要通过深刻的剖析能力更好的抽离通用能力。文章以告警收敛为主线,逐层深刻,介绍了对立告警平台的建设和实际。
2021年,咱们仍旧放弃凋谢自在的心态,输入更多的原创技术内容,增强文章在技术深度、实践经验上的积淀,心愿能与大家一起交换、切磋。