开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

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

评论

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

幸福之道,就在其中

少油少糖八分饱

生活 读书感悟 幸福 阅读笔记 被讨厌的勇气

高效数据传输:轻松上手将Kafka实时数据接入CnosDB

CnosDB

kafka CnosDB Telegraf

技术分享 | kill掉mysqld_safe进程会影响mysqld进程?

GreatSQL

数据库 greatsql社区

落地大模型应知必会(3): 如何构建多任务的LLM应用

Baihai IDP

人工智能 AI LLM 白海科技 落地大模型应用

强化服务韧性:ChaosBlade磁盘故障模拟的原理与应用

柠檬汁Code(binbin0325)

混沌工程 系统调用 磁盘故障 Chaos 故障模拟

AREX Agent 插件开发指南

AREX 中文社区

开源 Java Agent 自动化测试 Mock测试框架 流量回放

一点就通,解析直播源码拉流技术

山东布谷网络科技

对线面试官:Redis 夺命连环 38 问,你能抗住多少?

java易二三

redis 程序员 面试 后端 计算机

推荐工具!使终端便于 DevOps 和 Kubernetes 使用

SEAL安全

git Kubernetes zsh DevOps工具 企业号 8 月 PK 榜

千帆大模型平台的海量 Prompt 模板库,带来了什么?

梦想橡皮擦

千帆大模型平台

Linux之select、poll、epoll讲解

java易二三

Linux 程序员 计算机

《Java极简设计模式》第01章:单例模式(Singleton)

冰河

Java 程序员 设计模式 架构师 java基础

全球劳动力革命,Papaya Global 打破薪资界限

CnosDB

Papaya Global 劳动力革命

告警通知全面提升,一键接入多渠道 - 轻松管理,时刻掌控

极限实验室

console agent alerting easysearch

在 Go 语言单元测试中如何解决文件依赖问题

江湖十年

golang 后端 单元测试

802.11ac VS 802.11ax represents chips IPQ4019 and IPQ5018-support MU-MIMO-OFDMA-TWT technology

wifi6-yiyi

wifi6 wifi5

InCopy 2023 for mac(专业排版软件) v18.3中文激活版

mac

苹果mac Windows软件 InCopy 2023 IC2023 排版软件

浅谈中小企业为何做不好自媒体营销

石头IT视角

代码随想录Day43 - 动态规划(五)

jjn0703

AIGC热潮涌动 HashData如何降低大模型应用门槛?

酷克数据HashData

C++使用new来初始化指向类的指针

芯动大师

一键登录助力用户转化率稳步上升

MobTech袤博科技

前端 App 前端开发 秒验 一键登录

一键登录是如何在登录方式中脱颖而出的?

MobTech袤博科技

前端 前端开发 APP开发 秒验 一键登录

数科公司转型,从IT运维向价值运营转变

用友BIP

数科公司

职场新人如何避免陷入成长陷阱

老张

职场成长 职场经验

Programming abstractions in C阅读笔记:p107-p110

codists

c

SpringBoot3安全管理

Java spring springboot springsecurity SpringBoot3

华为云classroom赋能--Devstar使应用开发无需从零开始

华为云PaaS服务小智

DevOps 软件开发

go的net/http有哪些值得关注的细节?

java易二三

Java 数据库 程序员 计算机

对线面试官 - TCP经典面试题

派大星

TCP/IP Java 面试题

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