速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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:001120
用户头像

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

关注

评论

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

不止于观测|阿里云可观测套件正式发布

阿里巴巴云原生

阿里云 云原生 可观测 套件

java培训 | Java设计模式之装饰者设计模式

@零度

JAVA开发

Go 语言使用 MySQL 的常见故障分析和应对方法

百度Geek说

Go MySQL

5 个关于 NFT 的技术漏洞

devpoint

区块链 以太坊 NFT 6月月更

开发增效利器—2022年VsCode插件分享

中原银行

ide vscode 插件 中原银行 降本增效

如何用 Redis 实现一个分布式锁

Ayue、

redis 分布式锁

冷板式、浸没式、喷淋式液冷散热能否引领高性能计算发展?

GPU算力

Angular 服务器端渲染应用一个常见的内存泄漏问题

汪子熙

typescript 前端开发 angular Spartacus 6月月更

攻防演练合集 | 3个阶段,4大要点,蓝队防守全流程纲要解读

青藤云安全

网络安全 网络攻防 安全服务 攻防演练

Rancher 2.6 全新 Monitoring 快速入门

Rancher

Kubernetes k8s rancher

CRMEB知识付费如何二开阿里云短信功能

CRMEB

Kafka ETL 之后,我们将如何定义新一代实时数据集成解决方案?

tapdata

kafka ETL 数据集成 实时数据 DaaS

“芯”有灵“蜥”,万人在线!龙蜥社区走进 Intel MeetUp 精彩回顾

OpenAnolis小助手

开源 直播 Meetup 龙蜥社区 走进 Intel

大数据培训 | Flink如何监控恶意登录

@零度

大数据

得物多活架构设计之路由服务设计

得物技术

架构 高可用 架构设计 双活 路由

首次曝光!唯一全域最高等级背后的阿里云云原生安全全景图

阿里巴巴云原生

阿里云 云原生 安全 可信云

直播带货app源码搭建中,直播CDN的原理是什么?

开源直播系统源码

软件开发 直播带货 直播系统 app源码

navicat定时任务无效

源字节1号

大数据培训 | 电商用户行为分析之订单支付实时监控

@零度

大数据 flink

并购增资或将有望启动东软越通新动能?

E科讯

DevEco Device Tool 助力OpenHarmony设备开发

OpenHarmony开发者

OpenHarmony

如何使用 Django Forms 创建表单?

海拥(haiyong.site)

Python django 6月月更

想学习eTS开发?教你开发一款IQ-EQ测试应用

HarmonyOS开发者

HarmonyOS

运行时应用自我保护(RASP):应用安全的自我修养

SEAL安全

RASP

成熟的知识管理,应具备哪些条件?

小炮

《Java编程思想》作者Bruce Eckel新作,到底做了哪些升级?

图灵教育

Java

java程序员培训 | Java设计模式之桥接模式

@零度

设计模式 JAVA开发

Vone新闻 | 旺链科技赋能众享链网自组织管理,打造企业级联盟DAO

旺链科技

区块链 产业区块链 DAO 自组织协作

消息队列的丢失、重复与积压问题

Damon

6月月更

Wallys/DR6018-S/ 802.11AX MU-MIMO OFDMA / 2* GE PORTS/WIFI 6e / BAND DUAL CONCURRENT

wallys-wifi6

坚持五件事,带你走出迷茫困境!

博文视点Broadview

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