Spring 七种事务传播性介绍

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

vivo平台化实践探索之旅-平台产品系列01

2022-10-18
阅读 5 分钟
695
本篇为《vivo 平台产品》系列文章的第1篇。主要描述在业务高速发展的背景下,vivo软件工程师通过系统平台化建设等手段,逐步解决软件复用,快速响应业务变化等棘手问题的过程。我们从中精选出内容审核平台、AB实验平台、版本发布平台等具备代表性的平台产品,为大家对平台化的经历进行详细的介绍。

服务器内存故障预测居然可以这样做!

2022-07-26
阅读 6 分钟
2.1k
随着互联网业务的快速发展,基础设施的可用性也越来越受到业界的关注。内存发生故障的故障率高、频次多、影响大,这些对于上层业务而言都是不能接受的。

解析分布式系统的缓存设计

2022-04-12
阅读 13 分钟
3.9k
一、缓存简介1.1 什么是缓存缓存就是数据交换的缓冲区。缓存的本质是一个内存 Hash。缓存是一种利用空间换时间的设计,其目标就是更快、更近:极大的提高。将数据写入/读取速度更快的存储(设备);将数据缓存到离应用最近的位置;将数据缓存到离用户最近的位置。缓存是用于存储数据的硬件或软件的组成部分,以使得后续...

状态机引擎在vivo营销自动化中的深度实践 | 引擎篇02

2022-04-11
阅读 14 分钟
3.3k
营销自动化平台支持多种不同类型运营活动策略(比如:短信推送策略、微信图文推送策略、App Push推送策略),每种活动类型都有各自不同的执行流程和活动状态。比如短信活动的活动执行流程如下:
封面图

vivo 短视频推荐去重服务的设计实践

2022-04-06
阅读 7 分钟
1.3k
vivo短视频在视频推荐时需要对用户已经看过的视频进行过滤去重,避免给用户重复推荐同一个视频影响体验。在一次推荐请求处理流程中,会基于用户兴趣进行视频召回,大约召回2000~10000条不等的视频,然后进行视频去重,过滤用户已经看过的视频,仅保留用户未观看过的视频进行排序,选取得分高的视频下发给用户。
封面图

时间轮原理及其在框架中的应用

2022-03-28
阅读 16 分钟
1.6k
1)心跳检测。在Dubbo中,需要有心跳机制来维持Consumer与Provider的长连接,默认的心跳间隔是60s。当Provider在3次心跳时间内没有收到心跳响应,会关闭连接通道。当Consumer在3次心跳时间内没有收到心跳响应,会进行重连。Provider侧和Consumer侧的心跳检测机制都是通过定时任务实现的,而且是本篇文章要分析的时间轮Ha...
封面图

Dubbo服务如何优雅的校验参数

2022-03-08
阅读 13 分钟
3.6k
服务端在向外提供接口服务时,不管是对前端提供HTTP接口,还是面向内部其他服务端提供的RPC接口,常常会面对这样一个问题,就是如何优雅的解决各种接口参数校验问题?

vivo全球商城全球化演进之路——多语言解决方案

2022-03-01
阅读 6 分钟
2.3k
随着经济全球化的深入,许多中国品牌纷纷开始在海外市场开疆扩土。实现全球化意味着你的产品或者应用需要能够在全球各地的语言环境使用,我们在进行海外业务的推进时,需要面对的最大挑战就是多语言问题。实现好多语言系统的本地化,更方便快捷的修改多语言文案能让你的产品在各个国家地区里有更强的产品竞争力和更好的...

基于 Kafka 的实时数仓在搜索的实践应用

2022-02-28
阅读 6 分钟
2.1k
Apache Kafka 发展至今,已经是一个很成熟的消息队列组件了,也是大数据生态圈中不可或缺的一员。Apache Kafka 社区非常的活跃,通过社区成员不断的贡献代码和迭代项目,使得 Apache Kafka 功能越发丰富、性能越发稳定,成为企业大数据技术架构解决方案中重要的一环。

HTTP缓存协议实战

2022-02-16
阅读 11 分钟
2.4k
缓存,又称作Cache,我们把临时存储数据的地方叫做缓存池,缓存池里面放的数据就叫做缓存。当用户需要使用这些数据,首先在缓存中寻找,如果找到了则直接使用。如果找不到,则再去其他数据源中查找。

流量录制与回放在vivo的落地实践

2022-02-15
阅读 8 分钟
1.9k
近几年,vivo互联网领域处于高速发展状态,同时由于vivo手机出货量一直在国内名列前茅,经过多年积累,用户规模非常庞大。因此,vivo手机出厂内置很多应用,如浏览器、短视频、直播、资讯、应用商店等都是直面用户的高并发、复杂系统。这些面向用户的系统对使用体验要求非常高,对这些业务的质量保障是重中之重。

Redis 在 vivo 推送平台的应用与优化实践

2022-02-14
阅读 7 分钟
1.6k
vivo推送平台是vivo公司向开发者提供的消息推送服务,通过在云端与客户端之间建立一条稳定、可靠的长连接,为开发者提供向客户端应用实时推送消息的服务,支持百亿级的通知/消息推送,秒级触达移动用户。
封面图

vivo 评论中台的流量及数据隔离实践

2022-02-08
阅读 9 分钟
2.8k
vivo评论中台通过提供评论发表、点赞、举报、自定义评论排序等通用能力,帮助前台业务快速搭建评论功能并提供评论运营能力,避免了前台业务的重复建设和数据孤岛问题。目前已有vivo短视频、vivo浏览器、负一屏、vivo商城等10+业务接入。这些业务的流量大小和波动范围不同,如何保障各前台业务的高可用,避免因为某个业务...
封面图

2021年vivo互联网技术最受欢迎文章TOP25

2022-01-11
阅读 5 分钟
2.2k
岁月流转,时光飞逝,转眼2021年已经画上句号。过去一年,vivo 互联网技术共推送了107篇文章,涉及服务器、前端、数据库等技术。今天小编就带大家回顾一下2021年我们最受欢迎的25篇文章(根据阅读量和点赞筛选)。1《MongoDB在评论中台的实践》随着公司业务发展和用户规模的增多,很多项目都在打造自己的评论功能,而评...
封面图

JavaMoney规范(JSR 354)与对应实现解读

2021-12-14
阅读 27 分钟
2.5k
当前JDK中用来表达货币的类为java.util.Currency,这个类仅仅能够表示按照[ISO-4217]描述的货币类型。它没有与之关联的数值,也不能描述规范外的一些货币。对于货币的计算、货币兑换、货币的格式化没有提供相关的支持,甚至连能够代表货币金额的标准类型也没有提供相关说明。JSR-354定义了一套标准的API用来解决相关的这...

vivo 敏感词匹配系统的设计与实践

2021-12-06
阅读 6 分钟
2.5k
谛听系统是vivo的内容审核平台,保障了vivo各互联网产品持续健康的发展。谛听支持审核多种内容类型,但日常主要审核的内容是文本,下图是一个完整的文本审核流程,包括名单匹配、敏感词匹配、AI机器审核、人工审核四个环节。待审核文本需要顺次通过名单匹配、敏感词匹配、AI机器审核三个流程,若结果为嫌疑则需要人工审...

vivo统一告警平台设计与实践

2021-11-22
阅读 6 分钟
2.5k
一套监控系统检测和告警是密不可分的,检测用来发现异常,告警用来将问题信息发送给相应的人。vivo监控系统1.0时代各个监控系统分别维护一套计算、存储、检测、告警收敛逻辑,这种架构下对底层数据融合非常不利,也就无法实现监控系统更广泛场景的应用,所以需要进行整体规划,重新对整个监控系统架构进行调整,在这样的...
封面图

vivo 全球商城:商品系统架构设计与实践

2021-11-08
阅读 3 分钟
2k
一、前言随着用户量级的快速增长,vivo官方商城v1.0的单体架构逐渐暴露出弊端:模块愈发臃肿、开发效率低下、性能出现瓶颈、系统维护困难。从2017年开始启动的v2.0架构升级,基于业务模块进行垂直的系统物理拆分,拆分出来业务线各司其职,提供服务化的能力,共同支撑主站业务。商品模块是整个链路的核心,模块的增多严...
封面图

vivo全球商城-营销价格监控方案的探索

2021-09-27
阅读 3 分钟
2.1k
官网商城促销优惠的类型越来越多,能影响最终用户实付价的优惠就有抢购、满减、优惠券、代金券等。实际业务操作中存在不同促销优惠由不同运营配置的情况,如果运营间内部没有对齐的情况下,就会出现正常情况下不会同时设置的优惠被用户叠加享受,出现最终实付价低于成本价的可能。
封面图

深入剖析RocketMQ源码-NameServer

2021-09-23
阅读 36 分钟
3k
通过上图可以看到,RocketMQ的核心组件主要包括4个,分别是NameServer、Broker、Producer和Consumer,下面我们先依次简单说明下这四个核心组件:

源码解读Dubbo分层设计思想

2021-09-14
阅读 21 分钟
1.7k
如图描述Dubbo实现的RPC整体分10层:service、config、proxy、registry、cluster、monitor、protocol、exchange、transport、serialize。

vivo全球商城时光机 - 大型促销活动保障利器

2021-08-30
阅读 6 分钟
2.2k
官网商城在双11、双12等大促期间运营同学会精心设计许多给到用户福利的促销活动,当促销活动花样越来越多后就会涉及到很多的运营配置工作(如指定活动有效期,指定活动启停状态,指定活动参与商品等等)。
封面图

分布式存储系统可靠性:系统量化估算

2021-08-02
阅读 7 分钟
3.9k
可靠性指标指的是数据的可靠性。我们常说的数据可靠性11个9,在对象存储中就意味着存储一千亿个对象大概会有1个文件是不可读的。由此可见,数据可靠性指标给分布式存储系统带来的挑战不言而喻。
封面图

灵活运用分布式锁解决数据重复插入问题

2021-07-26
阅读 7 分钟
2.7k
许多面向用户的互联网业务都会在系统后端维护一份用户数据,快应用中心业务也同样做了这件事。快应用中心允许用户对快应用进行收藏,并在服务端记录了用户的收藏列表,通过用户账号标识OpenID来关联收藏的快应用包名。
封面图

vivo商城促销系统架构设计与实践-概览篇

2021-06-28
阅读 4 分钟
2.9k
随着商城业务渠道不断扩展,促销玩法不断增多,原商城v2.0架构已经无法满足不断增加的活动玩法,需要进行促销系统的独立建设,与商城解耦,提供纯粹的商城营销活动玩法支撑能力。

详解Apache Dubbo的SPI实现机制

2021-06-21
阅读 13 分钟
8.8k
SPI全称为Service Provider Interface,对应中文为服务发现机制。SPI类似一种可插拔机制,首先需要定义一个接口或一个约定,然后不同的场景可以对其进行实现,调用方在使用的时候无需过多关注具体的实现细节。在Java中,SPI体现了面向接口编程的思想,满足开闭设计原则。

深入浅出负载均衡

2021-06-07
阅读 20 分钟
3.6k
垂直扩展:在网站发展早期,可以从单机的角度通过增加硬件处理能力,比如 CPU 处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升。但是,单机是有性能瓶颈的,一旦触及瓶颈,再想提升,付出的成本和代价会极高。这显然不能满足大型分布式系统(网站)所有应对的大流量,高并发,海量数据等挑战。
封面图

玩转直播系列之消息模块演进(3)

2021-05-24
阅读 8 分钟
3.8k
即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错的,灵活的,支持高并发的消息模块是影响直播系统用户体验的重要因素。IM长连接服务在直播系统有发挥着举足轻重的作用。
封面图

Kafka万亿级消息实战

2021-05-18
阅读 18 分钟
3.7k
本文主要总结当Kafka集群流量达到 万亿级记录/天或者十万亿级记录/天  甚至更高后,我们需要具备哪些能力才能保障集群高可用、高可靠、高性能、高吞吐、安全的运行。