视频

了解更多
Redis 享有盛誉——但它用在哪里?开发人员依靠 Redis Enterprise 来满足多个行业的关键用例。了解 Redis 如何在游戏、零售、物联网网络和旅游等行业的应用程序开发中发挥作用的几种场景。
开发人员如何使用 Redis 来满足他们的数据库需求?我们最初是 Redis 开源,但在随后的13 年里,任何不断发展的数字业务的必备条件都发生了变化,现在需要的是更多的东西。这意味着更高的可用性、更高的持久性,并且绝不允许性能出现滞后,因此请将启用备份和即时故障转移添加到所需功能的组合中。
对于任何编程团队来说,实现无痛的业务可扩展性都是一个目标。使用内存中的 Redis 缓存和 Redis 数据库构建应用程序可以消除复杂性和延迟,因为 Redis Enterprise 在单个系统中提供双重支持。
一切都归结为速度。这意味着更快的应用程序交互(例如快速数据检索和通过缓存实现的后端服务的均衡负载)以及按用户需求扩展的软件(使用 Redis 的多模型数据库构建低延迟微服务架构)。
让我们探讨一些流行的 Redis 用例和客户实际的 Redis 性能示例。
欺诈会造成金钱损失,而且损失只会增加。投机者追随增长,将他们引向数字领域,其中零售、游戏和金融是受欺诈者打击最严重的垂直行业。“现在每 1 美元的欺诈行为,美国零售商和电子商务商家就要损失 3.75 美元,”LexisNexis 的一份报告断言;自 2019 年以来增长了 19.8%)
BioCatch 是一家以色列数字身份公司,该公司使用突破性的生物识别跟踪技术来领先于欺诈者。随着公司业务迅速增长到 7000 万用户、每秒 40,000 次操作和每月 50 亿次交易,BioCatch 团队需要一种方法来解决重要的数据库扩展问题。
这不是一个独特的挑战。由于 COVID-19,在线交易猛增。根据摩根士丹利的全球 电子商务增长预测 2022 年报告,该市场预计将从今天的 3.3 万亿美元飙升至 2026 年的 5.4 万亿美元。随着这种增长而来的是网络安全危险:数字身份威胁、网络犯罪和客户欺诈。 Bolster.AI 报告称,2021 年,网络钓鱼和假冒页面增加了 53%。
您的数据层需要闪电般的速度来构建经过微调的 欺诈检测算法,该算法可以在 40 毫秒内做出响应,然后才能对客户体验产生负面影响。
数据泄露已成为一种流行病。 IBM 报告称,83% 的组织发生过多次数据泄露。每次事件的平均成本约为 430 万美元。美国连续第 12 年成为数据泄露平均总成本最高的国家。
威胁的复杂性、数量和复杂性的增加需要更高级的欺诈检测方法,以跟上恶意行为者的步伐,并构建更强大的防御工事来抵御他们。由于传统数据平台通常难以跟上现代在线交易的速度、规模和复杂性,因此很难实时检测和阻止欺诈。
为了从其数据层获得极高的性能、高可用性和无缝的可扩展性,BioCatch 转而使用Redis Enterprise 来解耦计算和数据。在最初考虑将 Redis Enterprise 用作缓存之后,该团队很快意识到 Redis 也可以成为一个很棒的系统配置 NoSQL 数据库。
BioCatch 使用 Redis 功能和各种 数据结构 来创建一个单一的事实来源数据库,为整个组织的关键任务信息提供服务。 BioCatch 在活跃用户会话期间捕获行为、元数据和 API 数据。它还创建用户行为配置文件子集和预定义的欺诈行为配置文件。
BioCatch 在 Microsoft Azure 上运行着 3 petabytes 的数据、3 亿个密钥和 40 个数据库,它依靠 Redis Enterprise 为其所有微服务提供数据服务。自从使用我们的企业级 Redis 缓存进行运营以来,BioCatch 实现了零停机时间和零运营麻烦,使其团队有喘息的空间来专注于服务于其核心使命的战略项目。
在我们的 Data Economy 播客视频博客中了解有关实时欺诈检测和 exabyte 分析的更多信息。
根据 Mordor Intelligence 的数据,2021 年全球游戏市场总额达到 1984.0 亿美元,预计到 2027 年将达到 3399.5 亿美元。这一巨大的增长在很大程度上归功于 手机游戏。
成功的手机游戏需要出色的用户体验,这可能会带来重大的基础设施挑战,尤其是对于实时多人游戏。用户必须能够启动游戏、连接到服务器并与其他玩家协作;任何延迟或中断都可能毁掉体验。游戏体验还包括实时交易,有时涉及真钱。对于客户来说,期望是立即完成交易,并且个人付款详细信息已准备好缓存。
开发人员依靠 Redis 的 低延迟 来提供高性能和几乎无限的可扩展性,这在数据量大、速度快的游戏场景中至关重要。以 梦幻体育 为例,预计到 2028 年,该市场将达到 480 亿美元。美式橄榄球是美国最受欢迎的梦幻体育运动,拥有 3500 万玩家。但这与印度的梦幻板球联赛相比就相形见绌了,根据印度梦幻体育联合会 (FIFS) 的一项 研究,该联赛的玩家人数约为 1 亿。
在印度,球队会在比赛前公布他们的比赛名单,在线玩家只有 10-15 分钟的时间来更新他们各自的梦幻球队。这是要摄取的大量数据,并且不应影响客户的体验,尤其是在时间至关重要的情况下。
对于游戏开发人员来说,提供图形、图片、缩略图和音乐等游戏元素需要一个强大的缓存解决方案,该解决方案可以减少在关系数据库(例如 MySQL)上运行的数据存储的负载,同时确保极快的响应速度。
缓存有助于提供响应迅速的用户体验,并最大限度地减少开销。举个例子:Scopely。
Scopely 制作了《行尸走肉:生存之路》等手机游戏,它依靠 Redis Enterprise 来满足各种需求,包括 排行榜、API 管理和队列工作负载管理。
Scopely 需要支持各种数据结构和功能,例如可自定义的过期时间、驱逐、智能缓存、请求管道、数据持久性和高可用性。这些需求无法通过 SQL 数据库 来满足,如果没有复杂的负载平衡集群。
在我们的电子书《为什么您的游戏需要实时排行榜》中了解更多详细信息。
对于在线业务而言,创建一个全面的数字化形象是一项艰巨的任务,需要陡峭的学习曲线。一个优秀的数字化业务需要一个后端,以确保商店页面可用,一个库存管理系统,一个用于站点自动完成功能的快速缓存,一个用于产品的搜索引擎,以及用于创建实时个性化客户体验的机器学习技术。而且这一切都必须具有高性能;根据 2020 年 YOTTA 的一项研究,90% 的购物者表示,如果网站速度太慢,他们会放弃访问。
然而,现代多渠道零售商正在转向实时库存系统来优化他们的库存、收益和供应链物流,目的是改善客户体验和供应链。构建和维护这些复杂的系统对于应用程序开发人员来说是一项艰巨的任务。
同样,性能至关重要。延迟或不准确的库存信息会使客户感到沮丧,导致购物车放弃(本身就是一个价值 180 亿美元的问题)和订单取消、收入损失、成本增加和品牌受损。
服装零售商Gap Inc. 希望为其电子商务客户提供购物者添加到购物车中的每个商品的实时运输信息。该公司面临延迟和不准确的库存信息问题。
这个问题造成了糟糕的客户体验,增加了成本并损害了品牌忠诚度。
Gap Inc. 的应用程序开发人员发现 Redis Enterprise 的线性可扩展性和大规模的亚毫秒级性能是一个巨大的帮助,特别是对于季节性的黑色星期五高峰期。在微服务环境中,快速灵活的数据模型可以防止过度配置在较慢时期未使用的基础设施部分。
可用性、速度、性能和体验:一个真正的 360° 全渠道旅程始终保持这些要素的平衡,并且决不允许它们掉落。
在大数据时代,企业需要能够即时收集、存储和处理大量数据的软件。然而,当今的许多解决方案,包括数据摄取工具,对于简单的要求(例如从物联网 (IoT) 和事件驱动应用程序流式传输实时数据)而言,过于复杂和过度设计。
在这些应用中,必须快速分析数据才能做出快速的业务决策。 对于这些用例,通常不允许数据丢失。
但是,数据丢失确实会发生,尤其是在使用关系数据库时。 SQL 数据库通常在开始时围绕已知的用例创建。 将另一个数据结构或数据模型引入 SQL 堆栈可能会因速度变慢、摄取速度变慢和数据丢失而使系统陷入困境,因为必须更改数据以适应数据库选择的模型。
丢失数据等于失去机会。 任何丢失的数据都可能是通往全新收入来源的门户。
一个值得注意的 Redis 快速数据摄取使用示例是 Inovonics,它提供高性能无线传感器网络,在全球部署了超过 1000 万台设备。 在其 30 年的大部分历史中,Inovonics 主要认为自己是一家无线技术提供商。 但大数据的兴起帮助该公司意识到,其无线设备和传感器收集的独特数据集也可能具有巨大的价值。
Inovonics 的边缘平台需要强大的数据平台功能,以实现弹性和性能,同时最大限度地减少运营占用空间和运营成本。 通过应用Redis Enterprise Cloud,一种完全自动化的数据库即服务 (DBaaS),Inovonics 将其所有数据集中在Google Cloud上,以易于访问的数据分析的形式开辟了新的产品。
Inovonics 在其 IoT 边缘设备上使用 Redis Enterprise 将数据推送到其网关,并从这些网关推送到公司的虚拟私有 Google Cloud。
在 Google Cloud 上,Redis Enterprise 的应用用于数据摄取以存储来自 Inovonics 传感器网络的数百万条每日消息,并提供一个中心化的聚合视图,从中分析数据。 Redis Enterprise 还存储应用程序数据模型,以便传入消息可以与表示信息(例如传感器位置)相关联。
除了挑战实体零售之外,COVID-19 危机还迫使技术供应商重新调整和定制其运营和应用程序交付模式。 为了在不中断任何停机时间的情况下保持大规模的业务连续性,企业需要正确的工具和技术来扩展其基础设施并加速其应用程序响应时间。
例如,考虑 Freshworks,它构建基于云的商业软件套件。 由于过去六年的非凡增长,该公司一直在对其应用程序架构和开发运营的能力施加压力。 随着公司数据库负载的增长,它难以维持性能。 为了在不损害可用性的情况下动态扩展其集群,该团队还希望减轻 Freshworks 主要 MySQL 数据库的负担并加快应用程序响应速度。
在评估了 Aerospike 和 Hazelcast 等 NoSQL 内存数据库后,Freshworks 选择了 Redis 的高性能和灵活性。 最终,该团队选择了 Redis Enterprise Cloud,以确保高可用性和无缝数据库体验,将其作为开发人员的基础设施服务。
除了将 Redis Enterprise 用作其 MySQL 数据库的前端缓存之外,Freshworks 还使用 Redis Enterprise 的高度优化的哈希、列表和排序集数据结构以及内置的 Redis 命令来计量进入其 Freshdesk 软件的 API 请求。
Redis Enterprise 还充当存储在磁盘上的后台作业的持久存储。 随着 Freshworks 过渡到微服务,该公司已开始将关键工作负载从其整体 Ruby on Rails Web 应用程序框架中分离出来。 由此产生的第一个微服务之一是专用于身份验证,并将 Redis Enterprise 用作 会话存储。
最后,Freshworks 利用 Redis Enterprise 强大的数据结构,包括 HyperLogLog、位图和集合,作为用户分析的前端数据库。
上面的案例研究只是 Redis Enterprise 是最佳选择的用例示例。 但有一些功能值得强调。
缓存层存储重复请求的数据。 理想情况下,这些数据以亚毫秒级的响应时间提供,从而加快加载速度并降低后端成本。
在企业级水平上,内存缓存可以在云中线性扩展,并且不会出现性能下降。 快速数据检索等于用户更快的响应时间。 快速缓存还可以平衡后端服务负载,从而使现有硬件以最佳性能运行。
(注意:某些 Redis 服务提供商,例如 Amazon ElastiCache,仅支持 Redis 作为缓存,而不支持作为主数据库。)
强大的消息传递解决方案在微服务架构中至关重要。 这些各种服务集合需要在松散连接的环境中相互通信。
诸如 Pub/Sub 之类的消息传递协议有助于实时广播通知,并且在最小延迟和大量吞吐量至关重要时,对于消息分散非常有用。 这些协议有所作为。 排序集和哈希为聊天室、社交媒体源、实时评论流和服务器互通提供支持。 另一个结构 Lists 可以帮助创建轻量级的 消息传递队列。
会话管理完全与个性化有关。 应用程序需要处理大量数据,同时缓存和检索用户资料和会话元数据。 借助可靠的会话存储,可以扩展到数十亿个字段值对,并具有亚毫秒级的响应时间,并处理流量的意外峰值。
会话存储通过缓存 ID 和令牌来管理会话数据并提高可用性、身份验证、用户配置文件和日志记录性能。 这减少了主数据库的负载并计算资源,最终节省了资金。
地理空间数据可以将基于位置的功能集成到应用程序中。 常见的示例包括估计距离、到达时间和附近的推荐。
借助地理空间索引,可以使用地理空间命令(例如 GEOADD)(使用排序集添加一个或多个地理空间项目,或 GEODIST、GEOHASH 等)来存储和搜索坐标。
请参阅 Redis 地理空间索引在下面的视频中可以做什么。
开发人员必须争先恐后地交付具有引人注目的功能的新应用程序。 这让他们很忙,因为很难达到期望。
为了加快上市时间,开发团队必须释放亚毫秒级的响应时间性能,并找到简单的方法来应用多个数据模型,从而获得构建正确软件所需的自由。
当您开始构建明天的下一个伟大应用程序时,您将选择哪种方式? 探索使用 Redis 的这些有影响的方式,并以速度和性能构建强大的应用程序。