武汉的开发者们注意啦!AI技术战略、框架以及最佳实战尽在Azure OpenAI Day 了解详情
写点什么

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

评论

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

TiDB 在 WPS丨分享业务双机房建设实践

TiDB 社区干货传送门

实践案例

为 TiDB 的产品发展提二十四条建议

TiDB 社区干货传送门

软件开发全套资料获取下载(从项目立项到验收支撑,信息安全,运维管理)

金陵老街

品质实力|原始黄金双11各大平台蝉联第一!

骆驼骑士

2024上海国际聚酰亚胺材料展览会

吹吹晚风

class-dump 混淆加固、保护与优化原理

MIAOYUN荣获“2023中国赛宝信息技术应用创新优秀解决方案应用创新示范方向三等奖”

MIAOYUN

云原生 信创 AI大模型 一云多芯解决方案 信创解决方案

2024上海国际电子化学品展览会

吹吹晚风

物联专栏丨常见的物联网通信协议使用介绍

inBuilder低代码平台

如何使用 NFTScan NFT API 在 Starknet 网络上开发 Web3 应用

NFT Research

NFT\ NFTScan nft工具

古墓丽影11:暗影 中文Mac版安装包最新

胖墩儿不胖y

mac游戏 游戏推荐 古墓丽影11

原始黄金中老年奶粉 创新配方助力健康生活

骆驼骑士

Autodesk AutoCAD 2024 mac v2024.3中文激活版下载

影影绰绰一往直前

2024上海国际聚四氟乙烯制品及材料展览会

吹吹晚风

class dump使用方式和原理

雪奈椰子

Navicat Premium 15 mac v15.0.36中文激活版

影影绰绰一往直前

Axure RP 10 for Mac(交互式原型设计)v10.0.0.3912官方汉化版

影影绰绰一往直前

使用 Go 构建高性能的命令行工具

高端章鱼哥

命令行 cli Go 语言

TiDB 在京东云丨TiDB SQL 优化最佳实践

TiDB 社区干货传送门

实践案例

跟着源码学IM(十二):基于Netty打造一款高性能的IM即时通讯程序

JackJiang

网络编程 即时通讯 IM

原始黄金以高品质好驼奶,不断打动消费者

骆驼骑士

C++20语言核心特性的变化

EquatorCoco

c++ 算法 编程语言

原始黄金驼乳益生菌,引领肠道健康新潮流!

骆驼骑士

gpu服务器与cpu服务器的区别是什么?

Geek_f19a80

服务器

2024上海国际新型陶瓷材料与应用技术展览会

吹吹晚风

聚焦品质,原始黄金铸就口碑企业

骆驼骑士

Beyond Compare 4 for Mac v4.4.7(28397)中文版

影影绰绰一往直前

Motion 5 for mac(视频后期特效处理软件) v5.7完美激活版

mac

motion 苹果mac Windows软件 图形和视频合成软件

强大的视频后期特效处理软件 Motion 5 中文最新

mac大玩家j

Mac软件 视频特效软件 Mac视频特效处理

2024深圳国际智慧机房及综合布线展览会

吹吹晚风

从零开始的 dbt 入门教程 (dbt-core 基础篇)

EquatorCoco

数据分析 数据建模 项目开发

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