NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Shopee 数据事件中心的设计和实现

  • 2019-08-15
  • 本文字数:890 字

    阅读完需:约 3 分钟

Shopee 数据事件中心的设计和实现

ArchSummit深圳2019大会上,林锋讲师做了《Shopee 数据事件中心的设计和实现》主题演讲,主要内容如下。


演讲简介


电商系统的业务需求复杂,包含许多不同的子系统,对一些数据的操作常常需要多个系统联动,也有在不同系统间同步数据的需求,导致不同系统之间紧密耦合。一些典型的场景如:


  1. 不同系统对订单数据有不同的查询需求,需要在数据库或 Elasticsearch 中维护多个不同维度的索引,并保证数据源与索引同步;

  2. 业务优化改造数据库表结构时,需要在切换过程中保证数据在新旧不同结构的数据表之间进行同步;

  3. 各个系统对核心数据如用户、商品信息等都有各自的缓存,需要在数据被修改时更新缓存或使缓存失效;

  4. 一些数据的修改会触发其他系统的操作,如卖家增加一个商品时需要自动在运营平台创建一个审核任务。


DEC (Data Event Center) 是 Shopee 的数据库事件订阅和任务执行平台,负责监听 MySQL 数据库数据变更事件,并根据用户配置对数据事件进行处理,执行数据同步、缓存同步、事件回调等不同类型的任务。通过 DEC 使用简单配置就可以实现上述不同的需求,从而提高研发效率,也使同一数据的不同使用方之间互相解耦。


本次演讲主要介绍 DEC 的系统设计和实现,以及我们是如何解决 DEC 实现过程中遇到的一系列技术挑战,包括如何实现系统整体的高可用性、可伸缩性和高性能,在不增加运维复杂度的情况下如何保证不同任务间的隔离,在复杂场景下如何保证数据的强一致性或最终一致性等。


演讲提纲


  1. 需求和应用场景;

  2. Shopee 数据库事件订阅系统演进;

  3. DEC 设计和实现;

  4. 实践中遇到的问题和解决方案;

  5. 未来规划。


听众受益点


  1. 了解数据库事件订阅和任务执行平台的应用场景、设计思路、实践中可能遇到的问题和解决方案;

  2. DEC 实现系统的高可用、可伸缩和数据一致性的思路可以作为设计其他分布式系统的参考。


讲师介绍


林锋


Shopee Engineering & Technology / 技术平台团队负责人


2012 年加入 Sea Group,目前在 Shopee Engineering & Technology 部门,担任 Shopee 技术平台团队负责人,负责容器平台、网关、中间件、服务网格等基础技术平台的建设。












完整演讲 PPT 下载链接


https://archsummit.infoq.cn/2019/shenzhen/schedule


2019-08-15 00:002501

评论

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

细说JavaScript闭包

hellocoder2029

JavaScript

Web3开发者指南,比较好用的 NFT API 服务推荐!

NFT Research

区块链 数据分析 NFT

Java For Data Science

Mahipal_Nehra

java; data-science java client Java core Java static

数据驱动科研,清华大学中国新型城镇化研究院使用 ModelWhale 云端协同创新平台

ModelWhale

人工智能 新基建 云平台 数据科学 学科交叉

低代码平台适用于大中型企业吗?

力软低代码开发平台

python如何处理程序异常

芥末拌个饭吧

Python 11月月更

六大招式,修炼极狐GitLab CI/CD “快” 字诀

极狐GitLab

DevOps CI/CD 持续交付 runner 极狐GitLab

重磅|九科信息企业级超级自动化平台通过“信息系统安全等级保护三级认证”

九科Ninetech

IDC MarketScape :百度安全位居NESaaS市场领导者位置

百度安全

安全 云安全

涛思数据杨攀:如何寻求产品、商业与技术的平衡

GGV

产品 技术 开发者 商业 SaaS

知识经济时代,企业应该如何进行知识管理?

Baklib

知识管理

用 nodejs 搭建脚手架

coder2028

node.js

分布式任务批处理技术选型与实践

苏格拉格拉

分布式 批处理 分布式任务 数据分片 任务调度

什么是代理服务器?它有哪些分类?

wljslmz

服务器 网络技术 11月月更 代理服务器

Koordinator 1.0 正式发布:业界首个生产可用、面向规模场景的开源混部系统

阿里巴巴云原生

阿里云 云原生 Koordinator

从oracle到mysql模型转换的自动化实现

鲸品堂

语言 & 开发

一步步带你设计MySQL索引数据结构

程序知音

Java MySQL 数据库 编程 后端技术

细说nodejs的path模块

coder2028

node.js

理解Nodejs中的进程间通信

coder2028

node.js

技术新风口:超级App

FinFish

数字化转型 数字化 技术趋势 Gartner预测

阿里P8面试官总结的《2022java技术总结》,解决90%以上的技术面

程序知音

Java 程序员 后端技术 Java面试题 Java面试八股文

分层架构最容易范的最昂贵错误

风铃架构日知录

分层架构 #java 服务层 封装业务逻辑

细说Js中的this

hellocoder2029

JavaScript

手写vue-router核心原理

hellocoder2029

JavaScript

U-App移动统计算力升级!支持跨应用、多事件的打包计算

ABCNet:端到端的可训练框架的原理应用及优势对比

合合技术团队

人工智能 模型 端口 图片识别 文本识别

AntDB数据库与DSG强强联手,助力通信行业核心系统国产化

亚信AntDB数据库

aisware antdb AntDB数据库

SPL比SQL更难了还是更容易了?

石臻臻的杂货铺

sql SPL 11月月更

解决前端恶意代码侵入的一些思考

FinFish

小程序 安全 安全架构 小程序容器 前端安全

K8s 有损发布问题探究

阿里巴巴云原生

阿里云 Kubernetes 云原生

一步步带你设计MySQL索引数据结构

程序知音

Java MySQL 数据库 后端技术

Shopee 数据事件中心的设计和实现_ArchSummit_林锋_InfoQ精选文章