vivo 自研鲁班分布式 ID 服务实践

2023-06-29
阅读 7 分钟
589
本文介绍了什么是分布式ID,分布式ID的业务场景以及9种分布式ID的实现方式,同时基于vivo内部IT的业务场景,介绍了自研鲁班分布式ID服务的实践。

vivo 超大规模消息中间件实践之路

2023-01-30
阅读 9 分钟
1.2k
作者:vivo 互联网存储技术团队-Luo Mingbo、中间件团队- Liu Runyun本文根据“2022 vivo开发者大会"现场演讲内容整理而成。

FastDFS 海量小文件存储解决之道

2022-04-26
阅读 6 分钟
1.8k
支持 Linux、FreeBSD、AID 等Unix系统,解决了大容量的文件存储和高并发访问问题,文件存取实现了负载均衡,适合存储 4KB~500MB 之间的小文件,特别适合以文件为载体的在线服务,如图片、视频、文档等等。

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

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

深入剖析 RocketMQ 源码 - 负载均衡机制

2022-04-07
阅读 22 分钟
2k
RocketMQ是一款优秀的分布式消息中间件,在各方面的性能都比目前已有的消息队列要好,RocketMQ默认采用长轮询的拉模式, 单机支持千万级别的消息堆积,可以非常好的应用在海量消息系统中。

vivo鲁班RocketMQ平台的消息灰度方案

2022-03-14
阅读 10 分钟
1.8k
RocketMQ(以下简称MQ)作为消息中间件在事务管理,异步解耦,削峰填谷,数据同步等应用场景中有着广泛使用。当业务系统进行灰度发布时,Dubbo与HTTP的调用可以基于业界通用的灰度方式在我们的微服务治理与网关平台来实现,但MQ已有的灰度方案都不能完全解决消息的隔离与切换衔接问题,为此,我们在鲁班MQ平台(包含根因...
封面图

分布式数据库排序及优化

2022-03-07
阅读 4 分钟
1.6k
一、背景1.1 分布式数据库架构当前分布式数据库架构有不少,但是总体架构相差不大,主要组件都包含协调节点、数据分片、元数据节点、全局时钟。一种常见的分布式架构如下图:gtm :全局事务管理器(全局时钟),一主多备;catalog: 元数据管理,一主多备;group: 水平分片,每个group由一主多备数据存储节点组成;proxy : ...
封面图

vivo推送平台架构演进

2022-01-17
阅读 7 分钟
1.6k
本文根据Li Qingxin老师在“2021 vivo开发者大会"现场演讲内容整理而成。公众号回复【2021VDC】获取互联网技术分会场议题相关资料。
封面图

Percolator模型及其在TiKV中的实现

2021-09-22
阅读 8 分钟
3.1k
Percolator是Google在2010年发表的论文《Large-scale Incremental Processing Using Distributed Transactions and Notifications》中提出的一种分布式事务解决方案。在论文中该方案是用来解决搜索引擎的增量索引问题的。
封面图

带你走进MySQL全新高可用解决方案-MGR

2021-08-31
阅读 13 分钟
7.6k
相信很多人对MGR这个词比较陌生,其实MGR(全称 MySQL Group Replication 【MySQL 组复制】)是Oracle MySQL于2016年12月发布MySQL 5.7.17推出的一个全新高可用和高扩展的解决方案。具备以下特性:

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

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

从源码分析Hystrix工作机制

2021-07-19
阅读 24 分钟
3.8k
一、Hystrix解决了什么问题?在复杂的分布式应用中有着许多的依赖,各个依赖都有难免在某个时刻失败,如果应用不隔离各个依赖,降低外部的风险,那容易拖垮整个应用。举个电商场景中常见的例子,比如订单服务调用了库存服务、商品服务、积分服务、支付服务,系统均正常情况下,订单模块正常运行。但是当积分服务发生异常...
封面图

基于开源Tars的动态负载均衡实践

2021-05-31
阅读 6 分钟
3.5k
官方的描述是:TARS是一个支持多语言、内嵌服务治理功能,与Devops能很好协同的微服务框架。我们在开源的基础上做了很多适配内部系统的事情,比如与CICD构建发布系统、单点登录系统的打通,但不是这次我们要介绍的重点。这里想着重介绍一下我们在现有的负载均衡算法之外实现的动态负载均衡算法。
封面图

Kafka万亿级消息实战

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

Tars-Java客户端源码分析

2021-05-08
阅读 14 分钟
2.3k
在分布式计算中,远程过程调用(Remote Procedure Call,缩写 RPC)允许运行于一台计算机的程序调用另一个地址空间计算机的程序,就像调用本地程序一样,无需额外地为这个交互作用涉及到的代理对象构建、网络协议等进行编程。

深入剖析共识性算法 Raft

2021-04-19
阅读 9 分钟
3.6k
Raft 是一种为了管理日志复制的分布式一致性算法。Raft 出现之前,Paxos 一直是分布式一致性算法的标准。Paxos 难以理解,更难以实现。Raft 的设计目标是简化 Paxos,使得算法既容易理解,也容易实现。
封面图

MongoDB 在评论中台的实践

2021-03-01
阅读 4 分钟
7.2k
随着公司业务发展和用户规模的增多,很多项目都在打造自己的评论功能,而评论的业务形态基本类似。当时各项目都是各自设计实现,存在较多重复的工作量;并且不同业务之间数据存在孤岛,很难产生联系。因此我们决定打造一款公司级的评论业务中台,为各业务方提供评论业务的快速接入能力。在经过对各大主流 APP 评论业务的...

深入浅出 ZooKeeper

2020-12-29
阅读 11 分钟
6.3k
ZooKeeper 是一个分布式协调服务 ,由 Apache 进行维护。ZooKeeper 可以视为一个高可用的文件系统。ZooKeeper 可以用于发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能 。

发布会直播技术及业务实践

2020-12-23
阅读 8 分钟
1.8k
随着直播行业的近年来的发展,直播技术现已日趋成熟。本文主要介绍目前主流的直播技术原理,以及在直播在发布会场景下的应用以及过程中遇到的问题及解决方案。

vivo 全球商城:从 0 到 1 代销业务的融合之路

2020-12-14
阅读 4 分钟
1.4k
近两年,内销商城业务的发展十分迅速,vivo 商城系统的架构也完成了从单体往分布式的演进。我们在 vivo 商城服务化方向做了很多的努力,基础服务的能力逐渐沉淀下来。

分布式搜索引擎 Elasticsearch 的架构分析

2020-12-08
阅读 8 分钟
2k
 ES(Elasticsearch下文统一称为ES)越来越多的企业在业务场景是使用ES存储自己的非结构化数据,例如电商业务实现商品站内搜索,数据指标分析,日志分析等,ES作为传统关系型数据库的补充,提供了关系型数据库不具备的一些能力。

Seata是什么?一文了解其实现原理

2020-12-07
阅读 6 分钟
2.1k
随着业务发展,单体系统逐渐无法满足业务的需求,分布式架构逐渐成为大型互联网平台首选。伴随而来的问题是,本地事务方案已经无法满足,分布式事务相关规范和框架应运而生。

分布式集群如何实现高效的数据分布

2020-11-18
阅读 5 分钟
2.3k
随着互联网的发展,用户产生的数据越来越多,企业面临着庞大数据的存储问题,目前市面上主流的分布式大数据文件系统,都是对数据切片打散,通过离散方法将数据散列在集群的所有节点上,本文将带你了解DHT(Distributed Hash Table):分布式哈希表是如何实现数据的分布式离散存储的。

分布式定时任务调度框架实践

2020-03-09
阅读 11 分钟
2.8k
分布式任务调度框架几乎是每个大型应用必备的工具,本文介绍了任务调度框架使用的需求背景和痛点,对业界普遍使用的开源分布式任务调度框架的使用进行了探究实践,并分析了这几种框架的优劣势和对自身业务的思考。

一文了解 Consistent Hash

2019-11-25
阅读 8 分钟
1.8k
在分布式环境下面,我们经常会通过一定的规则来进行数据分布的定义,本文描述的取模算法和一致性 Hash(Consistent Hash)是通过一定规则产生一个key,对这个key进行一定规则的运算,得出这个数据该去哪儿。

Kafka 原理和实战

2019-08-19
阅读 23 分钟
6.2k
本文首发于 vivo互联网技术 微信公众号 [链接] 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平台、移动浏览器、推荐广告和大数据、人工智能等相关开发和架构。目前在vivo智能平台中心从事 AI中台建设以及广告推荐业务。擅长各种业务形态的业务架构、平台化以及各种业务解...

Spring Session工作原理

2019-07-30
阅读 10 分钟
2.6k
HTTP协议本身是无状态的,为了保存会话信息,浏览器Cookie通过SessionID标识会话请求,服务器以SessionID为key来存储会话信息。在单实例应用中,可以考虑应用进程自身存储,随着应用体量的增长,需要横向扩容,多实例session共享问题随之而来。

400+节点的 Elasticsearch 集群运维

2019-03-28
阅读 5 分钟
1.6k
本文首发于InfoQ [链接] 作者:Anton Hägerstrand翻译:杨振涛 目录: 数据量 版本 节点配置 索引结构 性能 Meltwater每天要处理数百万量级的帖子数据,因此需要一种能处理该量级数据的存储和检索技术。 从0.11.X 版本开始我们就已经是Elasticsearch的忠实用户了。在经历了一些波折之后,最终我们认为做出了正确的技术选...