写点什么

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

评论

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

安全高效的云主机批量管理软件是什么?有哪些功能?

行云管家

云主机 云运维

斐波那契系列

开发微hkkf5566

你的App是信息化时代的还是数字化时代的

FinClip

小程序开发

Electron框架XSS TO RCE简析

美创科技

漏洞

融云一图看懂:社死的“谭某某”,霸屏的信息安全

融云 RongCloud

虚拟机哪款好用?多台虚拟机管理用什么软件好?

行云管家

软件 虚拟机 IT运维

从入门到一位合格的爬虫师,这几点很重要

开发微hkkf5566

变量 var const let 的区别

大熊G

JavaScript 前端 前端教程 6月月更

在映客的虚拟KTV里唱了一首“爱你”

ZEGO即构

音视频 虚拟KTV 线上K歌

玩转云端|一文读懂天翼云CDN升级重点

天翼云开发者社区

大数据培训Hive到Spark离线计算实践

@零度

spark hive 大数据开发

互联网拓扑是怎样构成的?又代表了什么?

郑州埃文科技

互联网拓扑 网络空间地图

技术分享| 如何部署安装分布式序列号生成器系统

anyRTC开发者

分布式 后端 音视频 服务器 Tinyid

首评 | 阿里云顺利完成国内首个云原生安全成熟度评估

阿里巴巴云原生

阿里云 云原生

给小白的 PG 容器化部署教程(下)

RadonDB

数据库 postgresql 容器化 RadonDB

多张图解,一扫你对多线程问题本质的所有误区

华为云开发者联盟

Java 开发

专为云原生、微服务架构而设计的链路追踪工具 【SkyWalking介绍及搭建】

掂掂三生有幸

云原生 Skywalking ,docker 微服务框架 6月月更

PHP 对接微信公众号订阅消息详细教程

CRMEB

好声音不同凡响,泥炭耳机618重磅新品来袭

江湖老铁

【云主机】2022年云主机管理软件排行榜

行云管家

云计算 云主机 华为云 移动云 云主机厂商

员工福利平台:让员工福利更加“鲸彩FUN粽”

鲸品堂

福利 平台

【LeetCode】 删除二叉搜索树中的节点Java题解

Albert

LeetCode 6月月更

虚拟主机、WordPress 主机和云主机之间的区别

海拥(haiyong.site)

6月月更

征文投稿丨基于轻量应用服务器搭建Hexo个人博客

阿里云弹性计算

node.js nginx git Hexo 轻量应用服务器

Hoo研究院|一文速览风投机构NGC Ventures的加密布局

区块链前沿News

投资 VC Hoo NGC

服务器运维环境安全体系(上篇)

融云 RongCloud

网络安全

Spring Authorization Server(AS) 从 Mysql 中读取客户端配置、用户

Zhang

Java spring security spring as

选择天翼云混合云管理平台的五大理由

天翼云开发者社区

Java中的阻塞队列

急需上岸的小谢

6月月更

关于fastjson出现反序列化远程代码执行漏洞的通知

天翼云开发者社区

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

Dean.Zhang

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