写点什么

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:002857

评论

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

盲盒app开发小程序源码定制

盲盒开发盲盒小程序源码搭建app

自定义View:ViewGroup与View的事件传递

Changing Lin

11月日更

盲盒开发盲盒系统开发定制

SOLID原则之 单一职责原则

面向对象的猫

SOLID

CSS奇技淫巧之滤镜(二)drop-shadow

Augus

CSS 11月日更

45岁程序员发求职贴:精通各种技术体系,却连个面试机会都没有…

Java高级开发

Java 程序员 面试 职场

dart系列之:元世界pubspec.yaml文件详解

程序那些事

flutter dart 程序那些事 11月日更

Python代码阅读(第59篇):根据value查询字典key值

Felix

Python 编程 阅读代码 字典 Python初学者

盲盒一番赏APP开发源码搭建

盲盒app开发源码搭建小程序app

AI界的革命!终于可以自动标注了!

百度开发者中心

AI 自动标注工具

987页的Java面试宝典,看完才发现,应届生求职也没那么难

热爱java的分享家

Java 架构 面试 程序人生 编程语言

关于openGauss账本数据库:你想知道的这里都有

Hadoop实战篇-集群版(2)

进击的梦清

大数据 hadoop zookeeper

我就获取个时间,机器就down了

安第斯智能云

Linux 后端

盲盒开发蛋趣芒趣一番赏源码搭建

ABAP 和 Java 的单元测试 Unit Test

汪子熙

Java abap 11月日更 JavaSAP

这个无敌设计,可以解析并运算任意数学表达式

Tom弹架构

Java 架构 设计模式

为何飞书成了先进企业的标配?

ToB行业头条

使用 Node.js 消费SAP Cloud for Customer上的Web service

汪子熙

node.js SAP C4C 11月日更

解决文件存储难题 openGauss隆重推出段页式特性

Ustore在openGauss闪亮登场,重构openGauss数据存储的灵魂

盲盒开发盲盒源码搭建系统开发

如何用EasyRecovery恢复中毒U盘中丢失的文件

淋雨

EasyRecovery

从0到10彻底搞懂信息流【投放系统】

水泽山林

系统架构 推荐系统 智能投放 内容平台

“太白”团队加入OpenInfra Labs,联合社区成员共同完善多云管理技术

华为云GaussDB NoSQL云原生多模数据库的超融合实践

华为云数据库小助手

GaussDB 华为云数据库 GaussDB NoSQL

Android C++系列:Linux文件IO操作(二)

轻口味

c++ android jni 11月日更

一网打尽!音乐高手都在使用的打谱软件不藏私推荐!

懒得勤快

盲盒app开发盲盒小程序开发

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