写点什么

Sportradar 是如何实现可恢复性的

  • 2018-04-12
  • 本文字数:1608 字

    阅读完需:约 5 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Pablo Jensen 是体育数据服务提供商 Sportradar 的 CTO。在今年的 QCon 伦敦大会上,他做演讲(幻灯片PDF 文件)介绍了Sportradar 在确保自身系统满足所期望的可恢复等级中所采取的实践和操作。Jenson 在演讲中提及,影响可靠性的因素不仅包括技术方面,而且包括企业结构与管治、对客户的支持,并需要不断进行努力以实现持续改进。

Sportradar 所采用的技术实践之一,就是在生产环境中定期做故障转移测试(可以看成是一种混沌工程)。他们的快速故障策略是在单一服务层面、集群层面乃至整个数据中心层面得到测试的。Jensen 强调指出,之所以可以进行数据中心层面的测试,原因在于所有数据中心生产环境的创建和运行是完全一致的。从客户的角度看,他们只需要访问单一的联系点,而内部工作负载可以分配(或移动)到任何实时数据中心。应用尽可能与所运行的架构无关,并可采用同一方式部署在本地和云(AWS)上。尽管出于代价考虑,大部分工作是运行在Sprtradar 自身的数据中心中。在 Sportradar 部署的其它常用可恢复策略还包括断路器(circuit breaker)和请求限制(request throttling)等,并由 Netflix 的 Hystrix 工具处理。Jensen 还提及,他们将实时数据库从数据仓库解耦,以避免报告和数据分析对实时客户产生潜在的影响。

在管治方面,Sportradar 非常注重对依赖关系的管理(以及依赖关系的影响,因为第三方提供商的问题依然在导致企业故障因素中位居首位)。例如,企业将外部服务提供商划分为三类可接受的风险:

  • “单服务”:针对单个供应商提供的非关键服务 ;
  • “多区域”:针对提供某种级别的冗余(例如 AWS 可用区)的单个供应商 ;
  • “多供应商”:针对需要强大冗余的关键服务,并且而且依赖于单个供应商是不可接受的。

据 Jensen 介绍,为进一步降低风险,企业已将扩展架构到 Google Cloud 提上日程(这也使云架构服务从“多区域”转变为“多供应商”)。继而,考虑到单个供应商的服务可能会出现故障,这意味着为应对这些故障,必须设计并测试具有依赖的内部服务。由于每个业务区域是通过托管在冗余服务上的技术栈独立提供的,因此问题聚焦于风险管理证明也应是内部的。

鉴于 Sportradar 对特定业务区域分配了超过 40 个 IT 团队,企业还面对为软件架构和生命周期设立管治的需求。一个新的开发在启动之前,必须达到“适合开发”的状态,即具有经认可的架构,并且安全和托管指南部署到位。更重要的是,为确保市场和客户支持团队知悉更改并做好准备,部署到生产必须达到“适合发布”的状态。服务在加载后,依然可以做改进。这时 IT 团队必须遵循“30% 规则”,即团队时间的 30% 要分配给对当前服务稳定性和可操作性的改进,以及对现有过程(例如随叫随到或故障处理程序)的改进。Jensen 强调了对已建立过程迭代、改进、定期沟通并澄清的重要性(不正确遵循规程依然位居导致企业故障因素的第四位)。

在企业结构方面,与业务领域保持一致的 IT(产品)团队运行良好。在团队中,集中式的 IT 和安全团队提供指导和监督,而非亲历亲为。例如,团队群策群力定义安全开发指南,然后首个产品团队遵循该指南,并反馈其中的有用和无用之处,如此利用三个月的时间做迭代改进。只有这样,指南才能推广到所有的团队。

最后一点,每个服务在发布前,企业必定会指定一个值班团队。值班团队为服务的整个生命期提供第二层的技术支持。在每年合计超过 11 万客户请求中,大约 0.5% 的请求会升级到这个层级。正如 Jensen 所强调的,企业中最好的(并且薪酬最高的)工程师才能工作在这些团队中,从而提升了关注客户和服务属主的文化。任何风吹草动的异常都可公开告知客户,进而会在故障后会做出事后查验。Jensen 补充说,客户对这样层级的透明非常认可。

更多的演讲信息提供在 QCon 伦敦大会的官方网站上。InfoQ 将于下周发布演讲的视频

查看英文原文: What Resiliency Means at Sportradar

2018-04-12 19:001092
用户头像

发布了 391 篇内容, 共 135.0 次阅读, 收获喜欢 256 次。

关注

评论

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

Docker知识对应验证

Docker 4月月更

Docker下,极速体验编译pinpoint1.6.x分支

程序员欣宸

Java 分布式 4月月更

Swoole中的协程使用相关说明,快来围观

CRMEB

在线Excel转TSV工具

入门小站

工具

攻克编译器技术(1)

刘旭东

编译器 4月月更

「Spring」@ConfigurationProperties——从基础到源码

Geek_rze78a

Java spring 源码

云原生应用配置中心简述

穿过生命散发芬芳

4月月更

C语言总结_数组与函数传参练习题

DS小龙哥

4月月更

OpenHarmony 技术日| 锻英才以应时需 协教育同繁生态

科技汇

求推荐一款免费的项目(OKR)管理系统?

优秀

OKR 项目管理系统

性能测试中QPS取样器和RT取样器

FunTester

PingCode 完成近亿元人民币C轮融资,打造世界级研发管理与协作平台

爱吃小舅的鱼

Go语言入门很简单:Go 中的作用域和变量隐藏

宇宙之一粟

作用域 Go 语言 4月月更

linux之service命令

入门小站

[Day25]-[二叉树]二叉搜索树中的插入操作

方勇(gopher)

LeetCode 二叉树 数据结构算法

超干货 | 手把手教你快速构建一个企业自有“微信”!

融云 RongCloud

DevSecOps“内置安全保护”,让软件研发“天生健康”

华为云开发者联盟

DevOps DevSecOps 软件研发 安全架构设计 安全隐私

企评家|广州珐玛珈智能设备股份有限公司企业成长性报告简述

企评家

「微服务的细节」—— 如何获取本地IP?

袁世超

微服务

中国科技人,在残酷春天里翘首等待

白洞计划

开源社区问与答

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

区块链行业一周热点回顾|马斯克回应狗狗创始人;虎符交易所回购HOO

区块链前沿News

马斯克 Hoo 虎符交易所 doge

低代码在线文档 — VitePress网站生成

源字节1号

软件开发

直播回顾 | 看完这篇入门数仓研发,跑通复杂业务数据建模

个推

数据中台 数据仓库 数据建模 维度建模 范式建模

Windows 11 修改 PIN 的长度为 4 位

HoneyMoose

英特尔分享进军独显市场的背后思考

科技新消息

揭秘华为云GaussDB(for Influx):最佳实践之数据建模

华为云开发者联盟

MySQL 数据建模 数据模型 华为云 GaussDB(for Influx)

聊聊项目外包

石云升

创业 项目管理 职场经验 4月月更 项目外包

JWTToken在线编码生成

入门小站

工具

Android C++系列:string最佳实践

轻口味

c++ android 4月月更

REDIS集群安装运维调优及常见问题处理

IT巅峰技术

Sportradar是如何实现可恢复性的_DevOps & 平台工程_Manuel Pais_InfoQ精选文章