Fanatiz 是全球增长最快的体育直播平台之一。它拥有数万订阅者,特别受海外侨民欢迎,他们可以在任何地方实时观看他们支持的球队的比赛或按需观看。如果没有 1190 Sports 的管理以及体育版权的商业化,或者Nunchee 的白标技术,即直接面向消费者的流媒体服务技术,这一切都是不可能的。
这些业务由 Fz Sports 拥有和运营,该公司在拉丁美洲、欧洲和美国有 85 名员工。它每年直播约 10,000 场比赛,平均每天约 20 场。
图 1 — Fz Sports 移动应用 — 我的体育场
图 2 — Fz Sports 移动应用 — 我的球队主屏幕
“我们想要成为世界上最大的数字体育场。我们的订阅者主要关注男性和女性足球,但我们还直播篮球、手球、高尔夫和其他运动,”Fz Sports 工程和技术运营副总裁 Damian Krynveniuk 透露。
为了将体育迷与喜爱的内容联系起来,Fz Sports 是新技术快速采用者,其所有业务都建立在尖端技术和创新文化的基础之上。“我们正在优化整个体育价值链,重新定义版权所有者、品牌和粉丝之间相互连接的方式,并计划成为享受和货币化体育内容的主要数字目的地,”Krynveniuk 补充说。
在实时活动方面,可扩展性是一个普遍的挑战。仅足球一项,就有多达 30 场比赛同时进行。系统需要能够无缝处理需求的指数级增长。
“如果你的系统在游戏中突然崩溃,你可能会失去订阅者。他们的忠诚度是对他们团队的,而不是他们的直播平台,”Krynveniuk说。“我们需要能够在实时中进行不间断的流式传输并管理流量高峰。”然而,备用容量并不是许多人都能负担得起的奢侈品,因此对于Fz Sports来说,找到一种高性能的数据库平台来支持其业务至关重要。
公司使用它最擅长的技术——关系型数据库——构建了一个最小可行产品。然而,它很快就遇到了可扩展性和灵活性的挑战,开发团队在手动维护上花费了太多时间。
Fz Sports将内容提供给多个地区和任何设备——从可穿戴设备和智能手机到网络浏览器和联网电视。这种复杂性需要一种灵活的数据库,可以处理非结构化数据并使其易于导航。订阅者应该能够快速轻松地找到他们想看的体育节目,无论是观看直播还是浏览存档。
图3——Fz Sports移动应用——点播游戏列表
Fz Sports开始寻找一种支持非结构化数据并能够与其业务同步增长和适应的非关系型数据库。“我们正在寻找一种轻量级、用户友好的数据库,它兼容JavaScript、微服务以及AWS。当我们进入市场时,处理大量流量的最佳数据库是MongoDB,”Krynveniuk说。
团队采用了一个MERN堆栈;一个由MongoDB、Express.js、React.js和Node.js组成的Web开发框架。MongoDB作为数据库层,Express和Node驱动在中间作为应用层,React在顶部创建表示层。这种方法的优点是,开发人员可以使用标准方法和对核心数字基础的深入理解来创建全栈解决方案。
最初,Fz Sports实施了MongoDB社区版,并有一个专门的小组管理12个数据库。虽然这是从关系型到非关系型工作方式转变过程中的一个关键步骤,但它并非最终目标。正如Krynveniuk解释的那样:“MongoDB社区版是一个很好的起始工具,但我们觉得手工管理有限制。我们有一名全职员工专注于数据库管理,而我们更希望员工致力于改善订阅者体验和界面。”
团队决定迁移到MongoDB Atlas,这是一种完全托管的数据库服务,包括支持和最佳实践指导,以及更好的仪表板、指标和工具来优化性能。“我们对优化持战略眼光,专注于那些将产生最大影响的项目。例如,我们与MongoDB合作了一个为期一个月的项目来重新组织我们的授权数据库,结果性能提高了100%,”Krynveniuk回忆道。“这得益于我们拥有非结构化数据库和MongoDB工程师提供的出色支持。”
Damian Krynveniuk,Fz Sports工程和运营副总裁
对于日常业务运营,MongoDB Atlas提供了Fz Sports处理需求高峰和帮助用户快速找到合适内容的所有功能。它能够在不中断服务的情况下垂直和水平扩展数据库集群,甚至支持自动扩缩容,这证明它特别强大且经济高效。
团队使用Atlas中的快照和仪表板来跟踪付费点播客户并向公司其他部门报告销售情况。这些实时能力帮助Fz Sports比以前快25%地计划活动,如营销活动和激活其他渠道。
MongoDB Atlas设备SDK用于管理Fanatiz触发器并将业务逻辑事件移动到数据库中进行查询。它将配置文件信息同步到毫秒级,并保持MongoDB并行工作的八个节点之间的数据一致性。这也有助于生成仪表板。
为了提高用户体验的优先级,Fz Sports依靠Atlas令人印象深刻的搜索和归档功能。
“我们平台上每年有超过10,000场游戏可供选择,并且这些游戏需要随时提供给订阅者,”Krynveniuk说。“MongoDB Atlas搜索帮助人们快速找到他们想看的游戏,而在线归档使数据库保持快速、响应灵敏且成本效益高,内容在两年后进行归档。”在线归档将存储成本降低了40%。
团队目前正在运行一个概念验证,使用基于Atlas搜索构建的推荐引擎。它将使用AI和MoreLikeThis功能,根据用户的偏好和观看历史主动推荐用户可能喜欢的相关内容。
图4 — Fz Sports移动应用 — 直播和即将到来的比赛日历
作为新技术的前期使用者,Fz Sports参加MongoDB举办的年度研讨会和培训课程,以提升员工的技能并了解最新的发展。团队根据哪些新Atlas功能将对客户体验影响最大来选择要测试的功能。
“使用MongoDB Atlas,我们的生产力比以往任何时候都要高。它学习曲线快,上手容易,因此新员工很快就能适应。我们不再需要专门的数据库专家,因为我们有了MongoDB的支持。我们可以专注于提高我们的服务,因为我们知道我们拥有足够的灵活性来做出这些改变,”Krynveniuk说。
Fz Sports拥有支持其生产力增长的指标。当它使用MongoDB索引、在线归档以及从支持团队学到的最佳实践重构服务时,性能提高了50%。曾经管理大量并发观众是一个挑战,而现在公司可以处理这种情况而无需额外扩展。
“MongoDB Atlas是我们用于移动、Web和云中所有工作的卓越工具。拥有一个快速、事务性的数据库至关重要,作为该领域的领导者,我强烈推荐MongoDB,”Krynveniuk总结道。
Damian Krynveniuk,Fz Sports工程和运营副总裁