写点什么

Spotify 的高可靠性事件分发系统概述

  • 2017-04-09
  • 本文字数:836 字

    阅读完需:约 3 分钟

Igor Maravic 在最近的 QCon London 大会上出席演讲,高度概述了Spotify 的事件分发系统和一些运维方面的关键点。他提到Spotify 的事件分发系统在设计上拥有可控延迟,能够处理由Spotify 客户端在高峰时刻每秒生成的150 万事件,且永不丢失事件。

由各种不同的客户端产生的事件有超过250 种事件类型,并且大小从几个字节到几KB 不等。有些事件对零丢失率有严格要求,其中一个例子是歌曲特许权使用费的计算,但是为了简化系统设计,Spotify 的事件分发系统对所有事件都保证100% 分发。所有事件都被存储在按小时归集的区间内,每个区间包含了特定日期某个小时的所有事件。所有的事件都被标记上到达时间,以此来保证事件被存放到相应的区间内。

Spotify 的软件工程师 Maravic 强调,在设计上保证所有事件分发还不够,还必须通过监控来验证设计需求是否被真正的满足了。Spotify 的事件分发系统是由许多微服务构成的复杂的分布式系统。为了发现系统哪部分需要改进、在突发事故发生时简便地找到真实原因以及在数据分发时存在的问题,每一个组件都需要被监控。他们总结了三种类型的监控:

  • 系统监控,用来监控系统的整体运行情况,例如 CPU 和内存的使用情况等。
  • 数据监控,用来检查数据的时效性,保证数据在要求的延迟内分发。
  • 数据丢失率监控,用来监控事件分发的完整性。为了达到这一目的,他们构建了一个工具来监控所有的输入和所有的输出,以此发现数据丢失和其他数据传输问题。

Maravic 提到,尽管他们的系统需要 7*24 小时运行,但是他们并没有一个运维团队;相反,负责开发系统的开发人员也会负责系统的运维,他认为这有益于推动优秀的开发人员成长为卓越的开发人员。

Maravic 曾写过一系列关于系统架构详情的博客,其中包括一些性能报表。

查看英文原文: Overview of the Reliable Event Delivery System at Spotify


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-04-09 19:001756

评论

发布
暂无评论
发现更多内容

2020南京国际人工智能产品展览会

InfoQ_caf7dbb9aa8a

人工智能

什么是 Kubeless?| 玩转 Kubeless

donghui

Kubernetes kubeless

“三段三域法”应用架构模型

凌晞

架构 架构设计 技术架构

PanDownload复活了!60MB/s!附下载地址

程序员生活志

PanDownload 网盘 下载器

万万没想到!ModelArts与AppCube组CP了

华为云开发者联盟

AI 技术 华为云

2020第十三届南京国际智慧新零售暨无人售货展览会

InfoQ_caf7dbb9aa8a

我就不服了,看完这篇文章,5大常见消息队列开发你还学不会

小Q

Java 编程 程序员 开发 消息队列

晨间日记的奇迹

熊斌

读书笔记

SpringBoot 实战:如何优雅的处理异常

看山

springboot 实战 优雅响应

从戚家军看组织战斗力塑造(组织的六脉神剑)

凌晞

组织

技术解码 | 玩转视频播放,自适应码流技术

腾讯云音视频

音视频 转码

2020南京国际工业互联网及工业通讯展览会

InfoQ_caf7dbb9aa8a

Java 客户端操作 FastDFS 实现文件上传下载替换删除

哈喽沃德先生

Java 文件系统 分布式文件存储 fastdfs 文件服务器

架构方法论之“极限审视法”

凌晞

架构 方法论 设计思维

第3周作业提交

饭桶

深圳派发数字人民币红包!个人数字人民币钱包即将亮相

CECBC

数字货币 数字人民币

手把手教你锤面试官 04——假装精通redis

慵懒的土拨鼠

高难度对话读书笔记——目的篇

wo是一棵草

MySQL-技术专题-SQL性能分析

码界西柚

技术革新的脉络及趋势

凌晞

技术 进步

架构师训练营第一期 - 第四周课后 - 作业二

极客大学架构师训练营

转型敏捷123

研发管理Jojo

2020第十三届南京国际智慧工地装备展览会

InfoQ_caf7dbb9aa8a

2020第十三届南京国际大数据产业博览会

InfoQ_caf7dbb9aa8a

轻言业务架构图

凌晞

架构 企业架构 架构设计 架构设计原则 业务架构

MySQL-技术专题-实战技巧

码界西柚

MySQL-技术专题-Join语法以及性能优化

码界西柚

第3周学习总结

饭桶

Redis-技术专题-数据结构

码界西柚

SpringBoot-技术专题-@Async异步注解

码界西柚

2020第十三届南京国际智慧停车展览会

InfoQ_caf7dbb9aa8a

Spotify的高可靠性事件分发系统概述_DevOps & 平台工程_Jan Stenberg_InfoQ精选文章