DDD实战课
欧创新
人保高级架构师
立即订阅
5052 人已学习
课程目录
已完结 23 讲
0/2登录后,你可以任选2讲全文学习。
开篇词 (1讲)
开篇词 | 学好了DDD,你能做什么?
免费
基础篇 (5讲)
01 | 领域驱动设计:微服务设计为什么要选择DDD?
02 | 领域、子域、核心域、通用域和支撑域:傻傻分不清?
03 | 限界上下文:定义领域边界的利器
04 | 实体和值对象:从领域模型的基础单元看系统设计
05 | 聚合和聚合根:怎样设计聚合?
进阶篇 (6讲)
06 | 领域事件:解耦微服务的关键
07 | DDD分层架构:有效降低层与层之间的依赖
08 | 微服务架构模型:几种常见模型的对比和分析
09 | 中台:数字转型后到底应该共享什么?
10 | DDD、中台和微服务:它们是如何协作的?
答疑:有关3个典型问题的讲解
实战篇 (10讲)
11 | DDD实践:如何用DDD重构中台业务模型?
12 | 领域建模:如何用事件风暴构建领域模型?
13 | 代码模型(上):如何使用DDD设计微服务代码模型?
14 | 代码模型(下):如何保证领域模型与代码模型的一致性?
15 | 边界:微服务的各种边界在架构演进中的作用?
16 | 视图:如何实现服务和数据在微服务各层的协作?
17 | 从后端到前端:微服务后,前端如何设计?
18 | 知识点串讲:基于DDD的微服务设计实例
19 | 总结(一):微服务设计和拆分要坚持哪些原则?
20 | 总结(二):分布式架构关键设计10问
结束语 (1讲)
结束语 | 所谓高手,就是跨过坑和大海!
DDD实战课
登录|注册

20 | 总结(二):分布式架构关键设计10问

欧创新 2019-11-29
你好,我是欧创新。
前面我们重点讲述了领域建模、微服务设计和前端设计方法,它们组合在一起就可以形成中台建设的整体解决方案。而中台大多基于分布式微服务架构,这种企业级的数字化转型有很多地方值得我们关注和思考。
我们不仅要关注企业商业模式、业务边界以及前中台的融合,还要关注数据技术体系、微服务设计、多活等多领域的设计和协同。结合实施经验和思考,今天我们就来聊聊分布式架构下的几个关键问题。

一、选择什么样的分布式数据库?

分布式架构下的数据应用场景远比集中式架构复杂,会产生很多数据相关的问题。谈到数据,首先就是要选择合适的分布式数据库。
分布式数据库大多采用数据多副本的方式,实现数据访问的高性能、多活和容灾。目前主要有三种不同的分布式数据库解决方案。它们的主要差异是数据多副本的处理方式和数据库中间件。

1. 一体化分布式数据库方案

它支持数据多副本、高可用。多采用 Paxos 协议,一次写入多数据副本,多数副本写入成功即算成功。代表产品是 OceanBase 和高斯数据库。

2. 集中式数据库 + 数据库中间件方案

它是集中式数据库与数据库中间件结合的方案,通过数据库中间件实现数据路由和全局数据管理。数据库中间件和数据库独立部署,采用数据库自身的同步机制实现主副本数据的一致性。集中式数据库主要有 MySQL 和 PostgreSQL 数据库,基于这两种数据库衍生出了很多的解决方案,比如开源数据库中间件 MyCat+MySQL 方案,TBase(基于 PostgreSQL,但做了比较大的封装和改动)等方案。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《DDD实战课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(7)

  • 陈华应
    一直尝试着建立自己的知识体系,分布式的经典问题是很重要的一环,今天看老师的这篇也有些新的收获补充进去,比如OceanBase,听过大名,但是不知道是多副本机制实现的分布式数据库。

    作者回复: PAXOS协议的数据库还是很强大的。

    2019-11-30
  • krugle
    微服务 服务要做拆分 我们做电商saas的 比如商品服务 要不要区分商城和管理后台的商品服务

    作者回复: 你可以通过领域建模找出实体和聚合,来划分限界上下文。建议你的边界划分和设计从领域建模开始。建立领域模型后大概就知道边界在哪里了。

    2019-11-30
    2
  • Jxin
    回答问题:

    1.职位不够,很遗憾没实操过。但个人test,臆想啥的挺多。不过这里要补充就太多了。极客现在也有很多课程说这些,就不多赘述了。

    2.除了这十个问题。其实还得补充点。springboot官方文档多次提到“生产就绪”的概念。这也意味着,除了ops,dev也是架构需要高度关注的重点。所以,指标收集,健康检查,外化配置管理等等应该也要算入当下架构的核心问题。
    2019-11-30
  • FIGNT
    虽然很对不懂,但我知道是干货
    2019-11-30
  • 深山小书童
    这么课程就只看这两篇总结就值回票价了!前两天刚刚碰到老师说的前后序实体关联问题,也是按照领域事件来冗余实体的。

    作者回复: 谢谢,这里面有我的很多总结和思考。

    2019-11-29
  • 张迪
    分库类库实际上是一个基础 JAR 包,与应用软件部署在一起。。这个 JAR 包是啥?

    作者回复: 就是一个代码包,加入你的微服务工程就可以了。

    2019-11-29
  • 杨杰
    通过事件驱动实现读写分离,提高数据库访问性能。具体实现上是指:每次写数据有变化的时候,把相关的数据变更(或捕获的SQL语句)异步发生给读数据库?如果采用这种模式那如果数据结构变化较频繁该如何处理?

    作者回复: 事件数据的捕获是从事件表获取的,事件表的表结构一般不会发生变化。事件数据是在处理后写入事件表的。

    2019-11-29
    2
收起评论
7
返回
顶部