当前播放: 28 | 拍拍贷系统拆分项目案例
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章 课程介绍 (2讲)
01 | 课程介绍
免费
02 | 内容综述
免费
第二章 如何设计一个分布式计数服务 - 系统设计面试案例 (7讲)
03 | 需求收集和总体架构设计
免费
04 | 存储设计
05 | 计数服务设计(上)
06 | 计数服务设计(下)
07 | 查询服务设计
08 | 技术栈选型
09 | 进一步考量和总结
第三章 如何设计一个简化版的Kafka消息系统 - 拍拍贷PMQ设计演进案例 (8讲)
10 | PMQ 2.0项目背景
11 | PMQ 2.0的设计解析(上)
12 | PMQ 2.0的设计解析(中)
13 | PMQ 2.0的设计解析(下)
14 | PMQ 3.0的演进
15 | Kafka的动态重平衡是如何工作的?(上)
16 | Kafka的动态重平衡是如何工作的?(下)
17 | 消息队列设计和治理最佳实践
第四章 如何解决微服务的数据一致性和事务问题 (13讲)
18 | 第四章目录和大纲
19 | 微服务的四大技术难题是什么?
20 | 如何解决微服务的数据一致性分发问题?
21 | 如何解决微服务的数据聚合Join问题?
22 | 如何解决微服务的分布式事务问题?(上)
23 | 如何解决微服务的分布式事务问题?(下)
24 | 阿里分布式事务中间件Seata解析
25 | Uber微服务编排引擎Cadence解析
26 | 如何理解Uber Cadence的架构设计?
27 | 如何实现遗留系统的解耦拆分?
28 | 拍拍贷系统拆分项目案例
29 | CQRS/CDC技术在Netflix的实践
30 | 第四章总结
第五章 如何设计一个高并发无状态的会话缓存服务 - 携程SessionServer案例 (5讲)
31 | SessionServer项目背景
32 | 总体架构设计
33 | 如何设计一个高性能基于内存的LRU Cache?
34 | 如何设计一个高性能大容量持久化的ConcurrentHashmap?
35 | 设计评估和总结
第六章 系统设计综合案例 - SaaS服务healthchecks.io的设计 (6讲)
36 | SaaS项目healthchecks.io的背景和架构(上)
37 | SaaS项目healthchecks.io的背景和架构(下)
38 | 如何设计一个轻量级的基于DB的延迟任务队列?
39 | 如何设计一把轻量级的锁?
40 | 如何设计一个分布式限流系统?
41 | 如何设计一个分布式TopK系统实现实时防爬虫?
第七章 如何实现精细化服务治理 - 服务网格技术ServiceMesh解析 (10讲)
42 | 第七章目标和大纲
43 | 为什么说ServiceMesh是微服务的未来(上)
44 | 为什么说ServiceMesh是微服务的未来(下)
45 | 解析Envoy Proxy(上)
46 | 解析Envoy Proxy(下)
47 | Envoy在Lyft的实践
48 | 解析Istio
49 | K8s Ingress、Istio Gateway和API Gateway该如何选择?(上)
50 | K8s Ingress、Istio Gateway和API Gateway该如何选择?(下)
51 | Spring Cloud、K8s和Istio该如何集成?
第八章 大型网站架构演进案例 (8讲)
52 | 第八章目标和大纲
53 | 拍拍贷案例:大型网站架构是如何演进的?
54 | 最小可用架构:Minimum Viable Architecture(上)
55 | 最小可用架构:Minimum Viable Architecture(下)
56 | 如何构建基于OAuth2/JWT的微服务架构?(上)
57 | 如何构建基于OAuth2/JWT的微服务架构?(下)
58 | 拍拍贷案例:如何实现数据中心机房的迁移?
59 | 携程/Netflix案例:如何实现同城双活和异地多活?
第九章 架构师成长之道 (7讲)
60 | 第九章大纲
61 | 学习开源项目的6个层次和8种方法(上)
62 | 学习开源项目的6个层次和8种方法(中)
63 | 学习开源项目的6个层次和8种方法(下)
64 | 百万年薪架构师是如何炼成的?
65 | 解读一份大厂的研发岗职级体系
66 | 结课测试&结束语
28 | 拍拍贷系统拆分项目案例

28 | 拍拍贷系统拆分项目案例

杨波
前携程/拍拍贷技术总监,微服务技术专家
每周四 12:003628
新人首单 ¥19.9 原价 ¥129
4
登录 后留言

精选留言(3)

  • 飞翔
    老师数据分发是怎么去join的?

    作者回复: 假设A是用户表,B是订单表,那么传统数据库做法,C用户订单表=A join B。

    如果采用数据分发+实时聚合方法,可以先建一张C表和一个实时聚合服务D,每次B表有数据变化(添加/更新或者删除),通过事务性发件箱或者CDC机制,将B表的变化发送给D,D可以根据C和A+B的变更,直接计算出并更新C。后面需要查找用户订单的时候,可以直接查C,不需要再Join。

    在拍拍贷系统拆分场景中,主要是为了避免数据迁移过程中的跨库join,所以把涉及迁移的相关数据分发一份给依赖的服务,这样依赖的服务可以在本地DB做join(当然也可以用实时聚合技术消除本地join),这样对涉及迁移的数据就不是强依赖了,降低迁移的复杂度。

    2020-07-24
    2
  • 约书亚
    数据迁移的4个步骤太有价值了,很少见到其他文章中有提到,重点是每一步都可回滚到上一步
    2020-08-15
  • 叮叮董董
    1,2,3阶段需要系统支持多数据源吗

    作者回复: 这个具体要看业务系统的情况,如果业务系统需要连多个DB,那么就需要支持多数据源。

    不管需不需要多数据源,揭耦拆分的一般步骤都是类似的。

    2020-08-13
收起评论
看过的人还看
架构实战案例解析

王庆友  前1号店首席架构师

23讲 | 2960 人已学习

新人首单 ¥9.9 原价 ¥68
后端存储实战课

李玥  京东零售计算存储平台部资深架构师

28讲 | 5036 人已学习

新人首单 ¥19.9 原价 ¥99
系统性能调优必知必会

陶辉  智链达CTO、前阿里云高级技术专家

47讲 | 5770 人已学习

新人首单 ¥19.9 原价 ¥99
Spring Boot与Kubernetes云原生微服务实践

杨波  前携程/拍拍贷技术总监,微服务技术专家

94讲 | 6567 人已学习

新人首单 ¥49.9 原价 ¥199