构建高可用性的核心服务层:Coupang电子商务应用程序的技术实践

news2025/1/10 23:20:08

随着Coupang电子商务平台用户数量的快速增长,构建一个高可用性的核心服务层成为了关键任务。本文将介绍Coupang如何通过统一的NoSQL数据存储、缓存层和实时数据流等技术和策略,构建一个高可用性的核心服务层,以满足日益增长的数据流量需求,并保证低延迟和高可靠性的数据服务。

背景和挑战

Coupang作为一个综合性电子商务平台,除了提供市场上的商品,还通过自有的Rocket Delivery服务进行批发和销售。这种服务涉及的业务和数据逻辑比普通电子商务平台更为复杂。每个产品包含多种类型的数据,由不同的微服务进行管理。如果每个页面都直接从微服务中获取数据,微服务需要保持高可用性,并且常用的业务逻辑代码将分散在前端,导致代码冗余和复杂性增加。因此,需要一个单一的微服务来处理常用的业务逻辑和数据。

构建核心服务层

为了应对复杂的数据需求和上述挑战,Coupang的Materialization Platform团队创建了核心服务层。核心服务层有两个主要目标:统一业务逻辑代码和向客户页面提供数据。

核心服务层的目标包括:

•确保99.99%的高可用性,并在发生故障时能够快速恢复。•提供高吞吐量和低延迟的数据服务,以处理高读取流量。•保证从各个来源实时聚合的数据的一致性和新鲜度。•统一业务逻辑代码,减少前端的复杂性和代码冗余。

架构

c11c75cb61e3506441675de6aa834e75.jpeg

核心服务层是一个被应用程序的客户页面调用的微服务,用于提供所需的数据和业务逻辑。整个架构的目标是实现高可用性、高吞吐量和低延迟的数据服务。架构包括以下组件和特性:

统一的NoSQL数据存储

Coupang的产品领域信息由后端的不同微服务管理。通过将数据按微服务分离,可以实现高读取吞吐量。核心服务层不需要跟踪所有微服务中的每个数据更新。相反,后端的每个微服务将更新的数据发送到队列,并保存到统一的NoSQL数据库中。通过集成这种统一存储到核心服务

层,可以减少数据读取延迟和提高数据一致性。

缓存层

为了减少对NoSQL存储的访问,核心服务层还实现了一个缓存层。缓存层使用分布式缓存系统(如Redis)来缓存频繁访问的数据,以提高数据读取的性能和响应时间。缓存层与NoSQL存储保持同步,并使用缓存策略和淘汰算法来管理数据的缓存和失效。

154a4660ee83fbb1e448db6f58f61c9b.jpeg

实时数据流

核心服务层还包括实时数据流组件,用于处理来自不同来源的数据更新。当后端的微服务更新数据时,它们将数据发送到实时数据流。核心服务层订阅这些数据流,并使用流处理引擎进行实时处理和聚合。这确保了数据的一致性和新鲜度,并使核心服务层能够提供实时的数据更新给客户页面。6168640d8751c3fc5b8a9470fb56e961.jpeg

高可用性策略

4197af987ede816a667668cea9953f7e.jpeg

为了确保99.99%的高可用性,核心服务层采用了多个策略。首先,核心服务层使用分布式架构,将服务水平部署到多个服务器上,以避免单点故障。其次,它实现了自动容错和故障转移机制,当一个节点出现故障时,自动将请求路由到其他可用的节点。此外,核心服务层还进行了持续监控和性能优化,以及故障检测和快速恢复。

4105559e8b5c1b995320c3cdab415750.jpeg

结论

通过构建高可用性的核心服务层,Coupang电子商务应用程序能够应对日益增长的数据流量需求,并提供低延迟和高可靠性的数据服务。统一的NoSQL数据存储、缓存层和实时数据流等关键技术和策略的应用,使得核心服务层具备了高度的可扩展性、性能和可靠性。这些技术实践为其他电子商务平台构建高可用性的核心服务层提供了有益的参考。

参考文献:

•[1] Coupang: https://www.coupang.com/•[2] Distributed Systems for Fun and Profit: https://www.allthingsdistributed.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/561732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

保姆式教学--教室友从买服务器到怎么搭建内网隧道

本文转载于:https://blog.csdn.net/qq_39739740/article/details/127604642 一、购买云服务器 怎么购买? 三个主流厂商:华为云、腾讯云、阿里云 --------拿阿里云举例。 首先第一步、我们要百度搜索 阿里云→进入官网→选择最便宜的服务器&…

python+django音乐推荐网站vue

为此开发了本音乐推介网站 ,为用户提供一个基于音乐推介网站,同时方便管理员;首页、个人中心、用户管理,类型信息管理、乐器类型管理、歌曲信息管理、戏曲信息管理、MV专区管理、付费音乐管理、订单信息管理、音乐文件管理、论坛管…

JavaSE基础(七)—— 常用API(String、 ArrayList)

1.API 1.1API概述 什么是API ​ API (Application Programming Interface) :应用程序编程接口 java中的API ​ 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需…

阿里云/dev/vda1磁盘空间占满的解决过程

1.查看文件系统系统的占有量 使用df -h查看了下 2.查看本目录占据多少磁盘空间 du -sh 3.在cd /目录下 du -sh查看各个目录占据多少空间 d 然后使用 du -sh *查看具体文件差距多少空间逐一排查最后把占据大的文件删除掉即可.

Elasticsearch:使用字节大小的向量节省空间 - 8.6

作者:Jack Conradson, Benjamin Trent Elasticsearch 在 8.6 中引入了一种新型向量! 该向量具有 8 位整数维度,其中每个维度的范围为 [-128, 127]。 这比具有 32 位浮点维度的当前向量小 4 倍,这可以节省大量空间。 你现在可以通…

【哈士奇赠书活动 - 24期】-〖前端工程化:基于Vue.js 3.0的设计与实践〗

文章目录 ⭐️ 赠书 - 《前端工程化:基于Vue.js 3.0的设计与实践》⭐️ 内容简介⭐️ 作者简介⭐️ 精彩书评⭐️ 赠书活动 → 获奖名单 ⭐️ 赠书 - 《前端工程化:基于Vue.js 3.0的设计与实践》 ⭐️ 内容简介 本书以Vue.js的3.0版本为核心技术栈&#…

Python自动化办公对每个子文件夹的Excel表加个表头(Excel不同名)(下篇)

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 昭阳殿里恩爱绝,蓬莱宫中日月长。 大家好,我是皮皮。 一、前言 上一篇文章,我们抛出了一个问题,这篇文章…

发挥CWPP在零售行业安全关键价值

新钛云服已累计为您分享747篇技术干货 CWPP产品对于零售行业安全有关键价值,可以极大提升零售行业安全水平,是零售行业必备的安全产品。 零售行业的特点 零售行业的特点是实时在线、数据有独特价值,安全挑战是缺乏安全投入和人员。 实时在线方…

推荐 5 月份炫炫炫的 GitHub 项目

推荐 6 个五月份比较火的开源项目。因为近期 AI 项目的火爆,每天 GitHub 热榜都被 AI 项目占据,后续开源项目会同时盘点 AI 和其他分类的开源项目。 本期推荐开源项目目录: 1. 多合一聊天机器人客户端(AI) 2. 数据库场…

蓝库云|生产报工系统对制造业的作用,能给企业带来的质的飞跃

生产报工系统,对于做制造业的企业来说是再熟悉不过的软件系统了,不仅可以令制造企业可以快速响应客户需求,根据客户订购要求进行生产计划管理,还能生产报工可以帮助制造企业提升生产效率、提高产品质量、改善生产计划和提高客户满…

企业级应用如何用 Apache DolphinScheduler 有针对性地进行告警插件开发?

点击蓝字 关注我们 作者 | 刘宇星 Apache DolphinScheduler的2.0.1版本加入了插件化架构改进,将任务、告警组件、数据源、资源存储、注册中心等都将被设计为扩展点,以此来提高 Apache DolphinScheduler 本身的灵活性和友好性。在企业级应用中不同公司的告…

ChatGPT被广泛应用,潜在的法律风险有哪些?

ChatGPT由OpenAI开发,2022年11月一经面世便引发热烈讨论,用户数持续暴涨。2023年初,微软成功将ChatGPT接入其搜索引擎Bing中,市场影响力迅速提升,几乎同一时间,谷歌宣布其研发的一款类似人工智能应用Bard上…

树莓派 Ubuntu 18.04 连接 WiFi

树莓派 Ubuntu 18.04 连接 WiFi 阿瑞特后视镜那边代码调试需要用到树莓派,但是实验室 TP-LINK-DD48 用不了 所以要更改原先的 WiFi 连接信息 树莓派raspberry Pi 4B安装Ubuntu 20.04 LTS系统后如何连接WiFi 树莓派4B(ubuntu)设置wifi的方法 树莓派4B安装Ubuntu Se…

函数式接口入门简介(存在疑问,求解答)

这里写目录标题 引子四种函数式接口-简单Demo四种函数式接口介绍函数式接口实战-代码对比关于Consumer赋值问题(疑问,求解答) 引子 只包含一个抽象方法的接口,就称为函数式接口。来源:java.util.function 我想在方法…

【JS】1691- 重学 JavaScript API - Performance API

❝ 前期回顾: 1. Page Visibility API 2. Broadcast Channel API 3. Beacon API 4. Resize Observer API 5. Clipboard API 6. Fetch API ❞ 🏝 1. 什么是 Performance API 1.1 概念介绍 Performance API 提供了「访问和测量浏览器性能相关信息」的方法。…

作为IT行业过来人,我有4个重要建议给年轻程序员!

见字如面,我是军哥! 作为一名 40 岁的 IT 老兵,我在年轻时踩了不少坑,至少有两打,我总结了其中最重要的 4 个并一次性分享给你,文章不长,你一定要看完哈~ 1、重视基础还不够&#xf…

OpenAI Whisper + FFmpeg + TTS:动态实现跨语言视频音频翻译

本文作者系360奇舞团前端开发工程师 摘要: 本文介绍了如何结合 OpenAI Whisper、FFmpeg 和 TTS(Text-to-Speech)技术,以实现将视频翻译为其他语言并更换声音的过程。我们将探讨如何使用 OpenAI Whisper 进行语音识别和翻译&#x…

软件设计师 操作系统涉及题目

做题技巧 看有几个箭头就是有几个信号量。比如四个箭头就是S1 S2 S3 4把对应的信号量从小到大顺序放在对应箭头 比如P1-》P2就是 12 P1-》P3就是13 所以13大 注意是先V(S) 再P(S),箭头前是v后是p **P1没有前驱,第一个执行的进程.执行前用P操作 执行后用…

媒体传输协议的演进与未来

音视频应用近年来呈现出迅猛的发展趋势,成为互联网流量的主要载体,其玩法丰富,形态多样,众多繁杂的媒体传输协议也应运而生。LiveVideoStackCon 2022北京站邀请到快手传输算法负责人周超,结合快手在媒体传输上的优化与…

官宣!首个大模型兴趣小组开放申请,专注大模型应用落地

‍‍ 这里汇聚着大模型开发者与应用者 这是一个小而美小而精的兴趣组织 这是一个更关注大模型行业实际落地的组织 飞桨 AI Studio 大模型领域兴趣小组关注文心一言等大模型与开源模型应用落地,跟进最新技术趋势与应用方向,共同拓展技术视野、找寻商业化机…