写点什么

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

评论

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

第二周学习记录总结

乐知

架构训练营

架构训练营 - 模块二作业

VegetableBird

架构训练营 架构实战营

模块二

小麦🌾

架构实战营

2020届毕业生9月份还没找到Android开发工作,是什么体验?

android 程序员 移动开发

[ CloudWeGo 微服务实践 - 04 ] 尝试操作数据(2)

baiyutang

golang 11月日更

2020年8月30写篇文章,记录我的字节跳动客户端面试之旅!

android 程序员 移动开发

2020年Android开发年终总结之如何挤进一线大厂?(1),如何成为杰出的程序员

android 程序员 移动开发

2020一个Android大牛的面试经历分享(金九银十面试30多家公司)

android 程序员 移动开发

2020了,Android开发是否真的还有出路!25岁的我还有机会吗

android 程序员 移动开发

架构实战训练营-模块二作业

御道而行

架构实战营

2020年末知识大总结:Java程序员转Android开发必读经验一份

android 程序员 移动开发

2020初中级Android开发社招面试总结+解答分享!,androidsdk开发书籍

android 程序员 移动开发

2020年中总结之----怎么挤进一线大厂?非软文!(1),Android面试题整理

android 程序员 移动开发

2020上半年已过,疫情下互联网迎来红利期,Android技术下半场在哪?

android 程序员 移动开发

2020全网HTTP最佳解析,没有之一!(github标星5-1K,字节跳动Android岗面试题

android 程序员 移动开发

2020关于面试字节跳动,我总结一些面试点,希望对最近需要面试的你们一些帮助

android 程序员 移动开发

2020互联网寒冬之下,作为一个Android老码农,是如何进入腾讯的?

android 程序员 移动开发

“元宇宙”概念股中青宝、天下秀涨停

区块链日报

2020字节跳动面试看这篇就够了100道高频面试题解析!(数据结构与算法

android 程序员 移动开发

2020年Android高级面试题总结(附答案解析),面试突击版

android 程序员 移动开发

2020年中总结之----怎么挤进一线大厂?非软文!,2021Android面试心得

android 程序员 移动开发

2020年的大厂末班车!啃完这些资料,我拿到了字节跳动Android高级开发工程师的offer

android 程序员 移动开发

2020Android面试心得(二),【面试总结】

android 程序员 移动开发

模块二作业及总结

Thomas

架构训练营

2020年Android开发年终总结之如何挤进一线大厂?,android界面开发实验报告

android 程序员 移动开发

2020届毕业生9月份还没找到Android开发工作,是什么体验?(1)

android 程序员 移动开发

架构实战营模块2作业

小饭🍎

架构师 作业 模块二

2020年度整理国内一线互联网公司内部Android面试题库,androidstudio开发项目

android 程序员 移动开发

2020Android面试心得,已拿到offer,阿里P8架构师Android大厂面试题总结

android 程序员 移动开发

初识JavaScript第一篇及解释器和编译器

你好bk

JavaScript html5 大前端 html/css

2020个人开发者做一款Android-App需要知道的事情,年薪百万在此一举

android 程序员 移动开发

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