阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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:001478

评论

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

Studio One6绿色版音乐创作编辑软件

茶色酒

Studio One6

LeetCode题解:1238. 循环码排列,归纳法,详细注释

Lee Chen

JavaScript 算法 LeetCode

如何使用appuploader制作apple证书​

雪奈椰子

观测云产品更新|新增用户访问监测自动化追踪;新增 CDN 质量分析;新增自定义查看器导航菜单等

观测云

运维 云服务 可观测 观测云 可观测性用观测云

软件测试/测试开发 | 常用测试策略与测试手段

测试人

软件测试 自动化测试 测试方法

ChatGPT为什么在一夜之间爆火?| 社区征文

三掌柜

人工智能 openai ChatGPT

社区1月月报|OceanBase 4.1 即将发版,哪些功能将会更新?

OceanBase 数据库

数据库 oceanbase

加快发展先进制造业势在必行!

加入高科技仿生人

低代码 数字化转型 制造业 先进制造 数字转型

架构实战营-模块1作业

sadhu

将企业文件共享解决方案与数据丢失防护配对

镭速

软件测试 | 代码覆盖率集成

测吧(北京)科技有限公司

测试

CleanMyMac4.20免费版下载

茶色酒

CleanMyMac4.20

OpenHarmony应用集成AGC云存储

白晓明

云存储 DevEco Studio 端云协同 OpenHarmony应用开发 AppGallery Connect

如何将BI 工具与业务系统进行单点登录对接,实现用户权限通用

葡萄城技术团队

为什么负责任的技术始于数据治理

葡萄城技术团队

认证培训 |【AIRIOT物联网平台应用与实战训练营】第二期火热报名中!

AIRIOT

物联网 培训 训练营 认证

KCL v0.4.5 发布 - 更好的编写便利性改进,稳定性,体验提升与多平台支持

Peefy

开源 DevOps 云原生 编程语言 ​Rust

软件测试/测试开发 | 什么是软件缺陷

测试人

软件测试 自动化测试 测试开发

掌握统计学,做选择时的纠结少一半!

图灵社区

R语言 统计学

未来智安入选CCIA“网络安全服务阳光行动”成员单位

未来智安XDR SEC

网络安全

SREWorks前端低代码组件生态演进:monorepo架构重构和远程组件加载实践

阿里云大数据AI技术

大数据 运维 前端 低代码 企业号 2 月 PK 榜

一百行代码实现简易版 ChatGPT | 社区征文

海拥(haiyong.site)

ChatGPT

CleanMyMacX4.20完美试用版功能介绍

茶色酒

CleanMyMacX4.20

hive etl 通过 ETL 导出 Hive 中的数据

weigeonlyyou

hadoop hive Hive SQL hadoo Kafka ETL

【iOS逆向与安全】使用ollvm混淆你的源码

小陈

ios开发 逆向 iOS逆向 ios安全 逆向技术

Portraiture4.0简体中文版本磨皮插件

茶色酒

Portraiture4.0

软件测试/测试开发 | Bug定位方法

测试人

软件测试 自动化测试 测试开发 bug定位

不到3天,省下近10万,低代码是真给老板省钱啊!

引迈信息

前端 敏捷开发 低代码

掌握统计学,做选择时的纠结少一半!

图灵教育

R语言 统计学

Tuxera Ntfs2023永久电脑版下载

茶色酒

Tuxera NTFS2023

BPMN2.0是什么?它能解决企业流程管理中哪些问题?

优秀

BPMN

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