写点什么

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

评论

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

为明天做好准备,摆脱传统财务规划的不足

智达方通

企业管理 企业战略 全面预算管理 全面预算管理系统 财务规划

Path Finder for Mac(强大的文件管理工具) v2176中文激活版

Rose

搭建 CNode 技术社区智能体

灵快科技

node.js 开源 AI AI 智能体

FotoMagico for Mac(专业幻灯片制作软件)v6.7.2激活版

Rose

鸿蒙应用生态构建的核心目标

芯盾时代

鸿蒙

物资堆积如山,管理混乱?这些问题你还在忍受吗?

天津汇柏科技有限公司

低代码开发 软件定制开发 AI人工智能

JDK23如约而至,数十种新玩法,你期待哪一种?

江南一点雨

探索淘宝API:解锁关键词搜索商品列表的无限可能

代码忍者

API 接口 pinduoduo API

Axure RP 10中文授权版永久使用 mac/win

Rose

联想正式在印度生产AI服务器!致力于在印度开发世界“尖端”技术真的能实现吗?|AI日报

可信AI进展

vivo 全链路多版本开发测试环境落地实践

vivo互联网技术

测试环境 流量染色

功能强大的矢量绘图软件 EazyDraw for Mac v11.8.2中文版

Rose

苹果电脑数据库管理工具 Valentina Studio Pro for Mac v14.5激活版

Rose

百度智能云x️石家庄交管局,大模型打造全时在线数字交警

百度Geek说

Go 错误处理指北:pkg/errors 源码解读

江湖十年

后端 错误 错误处理 Go 面试题 面经 后端 大厂

Termius (终端模拟器/ssh/sftp客户端软件)

Rose

ps替代品:苹果图像处理软件Acorn for mac注册版

Rose

苹果电脑防火墙软件 Radio Silence for mac v3.3 最新永久密钥

Rose

“量体裁衣”破局转型难题!广域铭岛助力智转数改跑出加速度

极客天地

堡垒机价值主要体现在哪里?可以说说吗?

行云管家

网络安全 堡垒机 IT运维

Caffeinated for Mac(系统防睡眠工具) v2.0.7激活版

Rose

LeetCode:240. 搜索二维矩阵 II,二分查找,详细注释

Lee Chen

假期结束秋招喜来,瞧瞧节后字节跳动的面经

王中阳Go

面经 go基础 Go面试宝典 Go 面试题 面经 后端 大厂

【Abyss】Android平台应用级系统调用拦截框架

iofomo

android 安全 拦截器

实用的快速编写代码软件 TeaCode for Mac v1.1.3激活版

Rose

Qbserve for Mac 提高工作效率 v1.9激活版

Rose

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