热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

当中台遇上DDD,我们该如何设计微服务?

众所周知,微服务架构能让系统的开发与运维管理变得简单高效,还能提高系统的可用性。随着微服务的不断流行,我们开始在自己的业务中落地微服务。但是当实际执行时,我们才发现就算采用了微服务

众所周知,微服务架构能让系统的开发与运维管理变得简单高效,还能提高系统的可用性。随着微服务的不断流行,我们开始在自己的业务中落地微服务。

但是当实际执行时,我们才发现就算采用了微服务架构也不能解决问题,反而带来很多开发与运维上的负担。

 

于是我们试着去找解决方案,最后发现其实是自己划分微服务的方法错了,我们应该用 DDD(领域驱动设计) 的思想去指导微服务的实践

什么是 DDD 呢?DDD 与微服务之间有着什么样的联系?为什么最近的中台文章也开始大谈DDD?

 

简单来说,DDD 的本质是一种软件设计方法,而微服务架构是具体的实现方式。微服务架构虽好,但是他并没有给出如何对复杂系统进行分解的具体方法论,而 DDD 正好就是解决方案。

 

DDD强调领域模型和微服务设计的一体性,先有领域模型然后才有微服务,而不是脱离领域模型来谈微服务设计。

中台本质是领域模型,微服务是领域模型的系统落地,DDD是一种设计思想,它可以同时指导中台领域建模型和微服务设计,这就是DDD、中台和微服务的铁三角关系。

 

如何学好DDD呢?我认为资深架构师欧创新提出的这3个步骤很有参考意义:

 

第1步:理解DDD的核心知识体系和设计思想;

第2步:和项目团队一起用事件风暴方法构建领域模型;

第3步:根据领域模型和正确的微服务设计方法亲自动手设计几个微服务(实战)。

 

DDD看似复杂,学习起来并不困难,所以,人保高级架构师欧创新开设了这门《DDD实战课》,希望可以帮你和你的团队建立一套完整而系统的基于DDD的微服务设计方法。

 

当中台遇上DDD,我们该如何设计微服务?

????扫描上图,免费试读

优惠口令「 DDD123456 」,立减¥5

欧创新是谁?

欧创新,人保高级架构师,一名奋斗在架构一线十余年的技术人。

 

他有多年 DDD 研究和实战落地的经验,热衷于采用 DDD 的设计方法实现中台领域建模,专注基于 DDD 的微服务设计和开发。

另外,他还在深入探索传统企业中台数字化转型的技术和方法体系。

 

他是如何设计这门课的?

他将《DDD实战课》的内容分为了三大部分:基础篇、进阶篇和实战篇,下面逐一给大家介绍。

基础篇

基础篇主要讲解DDD的核心知识体系,具体包括:领域、子域、核心域、通用域、支撑域、限界上下文、实体、值对象、聚合和聚合根等概念。他会用浅显易懂的案例带你理解它们以及它们之间的合作、依赖关系。       当中台遇上DDD,我们该如何设计微服务?       

进阶篇

进阶篇主要讲解领域事件、DDD分层架构、几种常见的微服务架构模以及中台设计思想等内容,具体来说包括以下内容::

 

  • 如何通过领域事件实现微服务解耦?

  • 怎样进行微服务分层设计?

  • 如何实现层与层之间的服务协作?

  • 领域模型和微服务分层的作用和价值?

  • 如何实现前中后台的协同和融合?

  • 如何利用DDD进行中台设计?

实战篇

实战篇是专栏课程的重点,欧老师准备了4个实战案例。

 

1.中台和领域建模的实战

这部分他会带你了解如何用DDD设计思想构建企业级可复用的中台业务模型,了解事件风暴以及用事件风暴构建领域模型的过程。

 

2.微服务设计实战

这部分他会带你了解如何用DDD设计微服务代码模型,如何从领域模型完成微服务设计,建立领域模型与微服务代码模型的映射关系,如何完成微服务的架构演进等。

 

3.实战用DDD完成领域建模和微服务设计全流程

这部分他会用一个典型的案例将DDD所有的知识点串联在一起,带你深入了解如何用DDD的设计思想,完成领域建模和微服务设计的全流程。

 

4.前端应用设计

最后一个案例,他还会补充分享一个前端的最新设计思想,带你了解如何用微服务的设计思想来设计前端应用,实现前端应用的解耦。

最后,他还为你总结了微服务设计原则以及分布式架构设计的关键注意事项。

 

下面是本专栏的目录      当中台遇上DDD,我们该如何设计微服务?        

学完本专栏你将收获什么?

 

总结一下,这个专栏能带给你这样4点收获:

 

1.DDD必知必会10大核心概念

2.掌握事件风暴与领域建模

3.上手中台业务建模与设计

4.实战设计清晰的微服务架构

 

学完之后,相信你可以掌握从战略设计到战术设计的微服务标准设计过程,使你的微服务设计思路更清晰,设计过程更规范,让你的中台和微服务落地如虎添翼。

现在订阅有什么福利?

1.早鸟拼团优惠价 ¥55,原价 ¥68。

结算时,输入优惠口令「 DDD123456 」再减 5 元,到手价 ¥50,口令仅限「前 200 人」有效。

2. 订阅后生成海报分享给朋友,每成功邀请一位好友,可获得 ¥18 返现,多邀多得,上不封顶。

 

当中台遇上DDD,我们该如何设计微服务?

????扫描上图,免费试读

????点击「阅读原文」,输入优惠口令「 DDD123456 」,以最低价 ¥50 入手,仅限前200 人。


推荐阅读
  • BPM是什么软件?1、BPM是BusinessProcessManagement的简称,译为业务流程管理,它是一种以规范化的构造端到端的卓越业务流程为中心以持续的提高组织业务绩效为 ... [详细]
  • 摘要:本文中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务在读者正在工作的 ... [详细]
  • 智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台
    智能家居巨头 Aqara 基于 KubeSphere 打造物联网微服务平台 ... [详细]
  • 微服务应用性能如何?APM监控工具来告诉你
    当微服务系统越来越庞大,各个服务间的调用关系也变得越来越复杂,需要一个工具来帮忙理清请求调用的服务链路。之前使用的是Sleuth+Zipkin的解决方案,最近发现应 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
  • IT管理类培训,你想了解的全都在这里
    IT类的培训,主要分为技术类和管理类。不断有小伙伴问起各种培训的价值,内容和对自己职业发展的帮助,希望这篇帖子可以给大家一些启发。首先用 ... [详细]
  • 超赞!GitHub上百万下载量Java面试手册!颠覆你的认知
    金三面试不顺心,马上银四面试在即,自己复盘总觉得Java知识点很凌乱?没有合适的方法学习!今天分享这份GitHub上百万下载量Ja ... [详细]
  • 每日一书丨AI圣经《深度学习》作者斩获2018年图灵奖
    2019年3月27日——ACM宣布,深度学习之父YoshuaBengio,YannLeCun,以及GeoffreyHinton获得了2018年的图灵奖, ... [详细]
  • 如何设计一个秒杀系统(各方面都写的很到位)
    1.Overview1.1并发读写秒杀要解决的主要问题是:并发读与并发写。并发读的优化理念是尽量减少用户到服务端来读数据,或者让他 ... [详细]
  • 起底▍Spring Boot/Cloud背后豪华的研发团队 ——独角兽公司Pivotal
    作者|纯洁的微笑编辑|梅花鹿36大数据已获得授权转载我们刚开始学习SpringBoot的时候肯定都会看到这么一句话:SpringBoot是由Pivotal团队提供的全 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • 使用Docker安装和运行Nexus
    本文介绍了使用Docker安装和运行Nexus的方法,包括docker-compose.yml配置和启动时可能出现的权限问题解决方法。同时提供了登录控制台验证安装的地址和登录信息。 ... [详细]
author-avatar
潇湘江陵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有