写点什么

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

评论

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

王者荣耀商城异地多活架构设计

五月雨

架构实战营 「架构实战营」

后端开发【一大波干货知识】tcp/ip定时器与滑动窗口详解

Linux服务器开发

网络协议 TCP/IP 后端开发 Linux服务器开发 C++后台开发

测试人员最佳测试管理工具

阿里云云效

阿里云 云原生 开发 测试管理 测试管理工具

恒源云(Gpushare)_如何加速从 GitHub 上克隆代码或下载文件?技巧大放送8!

恒源云

GitHub

架构实战营:模块七作业

刘璐

银行推进人工智能技术应用时需同步考量可信AI的评估与验证

易观分析

人工智能 AI

恒源云(Gpushare)_如何获取实例SSH端口号?技巧大放送7!

恒源云

服务器 终端登录

面向对象编程,你真正懂吗?

CRMEB

CentOS8安装erlang 和 RabbitMQ

阿Q说代码

4月月更 RabbitMQ安装 erlang安装

百度程序员开发避坑指南(前端篇)

百度Geek说

前端

实例解析网络编程中的另类内存泄漏

华为云开发者联盟

TCP 网络编程 网络 压力测试 内存泄漏

pip:带你认识一个 Python 开发工作流程中的重要工具

华为云开发者联盟

Python 项目管理 pip 依赖关系 包管理器

如何满足一个前端对 Mock 的全部幻想

Liam

前端 Jmeter Postman Mock

netty系列之:netty中的核心编码器bytes数组

程序那些事

Java Netty 程序那些事 4月月更

日志中台不重不丢实现浅谈

百度开发者中心

一文简述:云原生架构的四个特征六个原则

穿过生命散发芬芳

4月月更

硅谷区块链公司Espresso Systems因涉嫌知识产权盗窃被起诉

西柚子

实践GoF的设计模式:单例模式

华为云开发者联盟

程序设计 设计模式 单例模式 GoF 共享实例

局部变量是线程安全的,原因是什么?

华为云开发者联盟

线程 高并发 变量 线程安全 局部变量

图文并茂|彻底搞懂零拷贝(Zero-Copy)技术

Linux爱好者

内存管理 Linux内核 进程管理 嵌入式开发 设备驱动

2022年IAA行业品类发展洞察系列报告:内容向APP及休闲游戏的突围

易观分析

IAA 休闲游戏

fastposter v2.7.0 发布 电商海报编辑器

物有本末

海报 fastposter 海报生成器 海报编辑器 主图编辑器

眼见为实,看看MySQL中的隐藏列!

码农参上

MVCC MySQL 数据库 4月月更

日志中台不重不丢实现浅谈

百度Geek说

后端

恒源云(Gpushare)_啥,还不知道咋关机?技巧大放送6!

恒源云

人工智能 GPU服务器

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