视频

了解更多
您还记得 RedisConf 的主题演示吗?如果您记得,那么您可能会喜欢了解所展示的零售应用 (RedisMart) 的幕后开发过程。如果您不记得,是时候观看 Yiftach 和 Ash 的演示了。视频链接在此
本文是系列文章的第一篇。它将为您提供一些关于 RedisMart 零售应用的主要需求和架构的见解,介绍如何实现产品目录、分布式实时库存以及 AI 支持的产品搜索。您还将了解 Redis Enterprise 如何为所有这些功能提供支持。
和软件开发中常见的情况一样,让我们先讨论一些基本需求。以下是一些非正式的用户故事记录
既然我们知道了需求,让我来构想一下 Redis 如何能帮助我们实现
由此,不难构想出以下设计
蓝色框表示服务。红色框显示这些服务使用的数据库。
我们遵循了一些微服务方法,例如
RedisMart 提供了一个用户界面,由网上商店 Web 应用提供服务。RedisMart 有一个前端 UI(面向客户的零售网站)和一个后端 UI(用于管理库存)。我们在幕后实现了一系列由应用利用的服务。
如前所述,这是系列文章的第一篇。请持续关注,了解更多关于我们如何实现各个服务的细节。
既然我们看了幕后,现在来看看应用在舞台上是什么样子。
主页显示主要的产品类别。点击一个类别会通过产品目录服务触发搜索查询,返回属于该类别的最初 16 个产品。
“搜索产品”字段允许您对产品执行全文搜索。这会导向以下搜索结果页面
搜索结果页面有两个部分:分面搜索和实际结果列表。分面搜索可用于进一步限制搜索结果。您可以通过主类别、子类别、价格和评分进行过滤。在博客系列的第二部分,我们将讨论如何使用 RediSearch 实现分面搜索的详细实现。让我给您一个提示,您可以看看 RedisMart 的调试视图
如您所见,标签和聚合起着作用。
点击右上角的小相机图标,您可以拍下您想在产品目录中查找的物品图片。Doug 的这张照片在我们的数据库中没有找到其他任何 Doug…艾
…但它很好地找到了一些耳机。
假设您决定购买一副耳机。做出选择后,RedisMart 允许您将其添加到购物车。在结账过程中,您可以选择送货上门或在附近地点自提。
RediSearch 的地理搜索功能支持本地自提。调试视图再次为您提供了此功能幕后实现方式的提示。
客户完成购买后,库存服务会减少库存中的物品数量。这直接将我们带到应用的后端,该后端允许我们管理库存。RedisMart 直观地展示了在每个复制站点上如何立即观察到库存更新。在美国(GCP us-central1)进行的购买会瞬间复制到欧洲(Azure north-europe)。
再次强调,我们稍后会详细介绍。这里的重点是,您可以在网络延迟非常低的情况下从附近位置访问数据,同时在多个站点并发修改数据时,可以防止计数器丢失。
您可以通过观看以下视频来了解应用的实际运行情况
希望您喜欢这篇关于使用 Redis 构建全功能零售应用的博客系列的第一部分。如您所见,Redis 实时数据平台使我们能够通过利用 RediSearch + RedisJSON 的文档数据库功能来满足对产品信息进行即时访问(端到端延迟小于 100 毫秒)等要求。RediSearch + RedisGears + RedisAI 的组合支持 AI 驱动的图像搜索,用于在产品目录中查找相似产品。此外,还介绍了分面搜索和地理搜索等功能。最后,但同样重要的是,我们向您展示了如何轻松构建基于 Redis Enterprise Active-Active 功能的地理复制实时库存。凭借所有这些功能,Redis 实时平台可帮助零售公司积极影响整体购物体验,为客户提供最佳的履约体验,并以最具成本效益的方式优化库存。
您想了解更多关于我们为 RedisMart 实现的各个服务的细节吗?那么请持续关注本系列的下一篇博客文章!
想自己尝试一下吗?以下是一些链接,可帮助您亲自体验将 Redis 用作实时数据平台:
非常感谢所有为这个演示应用做出贡献的人员
我们将这个博客系列献给 RedisMart 应用的主要开发者 Martin Forstner。我们非常悲痛地分享,他最近不幸离世。Martin 的知识、才华和幽默感都是首屈一指的。他不仅仅是 Redis 的一名软件工程师,他还是我们的同事、队友、导师和朋友。安息吧,Martin,我们怀念你!