首页
课程中心
专家团队
新闻中心
精彩活动
关于我们

课程中心

领域驱动与微服务架构设计(录播课程)

  • 主讲老师:范老师
  • 培训天数:5天
  • 公开课费用:1980

微服务是一种架构风格,这种架构形式可以帮助企业在快速变化的市场中获得竞争优势,然而,微服务应当如何拆分、如何架构?有哪些技术特点与技术难点?如何构建支持微服务的技术中台?如何应对未来的技术更迭?最终又应当如何部署在云端自动化运维呢?为了帮助大家准确理解微服务,合理设计微服务,有效规避微服务转型过程中的那些“坑”,培训中心特举办“领域驱动与微服务架构设计”培训班。

 

培训特色:

本课程的授课特点是注重实战,授课老师在微服务设计相关领域从业多年,收集了大量的真实案例,会针对项目过程中常见的问题进行汇总、研讨,通过大量的真实案例,详细地介绍微服务设计过程中需要注意的要点以及难点。通过讲师十几年经验的总结与传授,既保证了课程的理论体系完整,又使学员掌握实际工程方法,达到学以致用的目的。

 

培训要点

企业想要在快速变化的市场中获得竞争优势,就需要解决规模化软件开发团队无法快速交付的困局,基于微服务架构打造一个快速交付的团队。然而,只有准确理解微服务,理解“小而专”、“去中心化技术治理与数据管理”的思想与方法,才能真正发挥微服务的优势。本课程通过微服务架构的实践,逐步深入的帮助学员解决如下问题:

1,要想让微服务的优势真正发挥出来,就要“小而专”,其难题就是微服务该如何拆分,解决这些问题的最佳实践就是领域驱动设计。课程将通过案例演练带领学员逐步建立领域驱动的业务分析过程、领域建模过程,以及如何通过限界上下文进行微服务的拆分,提高微服务可维护性的方法。

2,如何在原有的业务系统中进行微服务转型,这个过程中会遇到哪些“坑”,是大家特别关注的问题。课程将带领学员实际去架构一个微服务系统,进而探寻微服务在架构过程中会遇到的难题,以及它们的解决思路。

3,为了提升实践能力,授课教师将带着学员演练在真实项目中该如何开发微服务系统,包括微服务的父项目、多套配置文件、集中式的配置中心,以及如何架构一个既支持微服务又支持领域驱动的技术中台,达到既能降低技术门槛,减少开发工作量,又易于业务变更,易于架构演化的目的。

4,运维微服务架构需要强大的运维平台支持,也就需要打造一整套DevOps自动化运维体系。这个体系包括:持续探索、持续集成、持续交付,以及在这个过程中的自动化测试与运维。课程将在授课教师的指导下,实际搭建这样的平台,去理解如何自动化部署微服务,以及用Prometheus、EFK运维。

 

本课程有企业内训形式,授课老师、课程内容、教学方式均依据企业的培训需求灵活设置。

 

本网站内容包括并不限于课程介绍、课程大纲、上课照片、老师介绍等等资料及信息,未经允许不得抄袭和转载。

培训对象

1、系统架构师、系统分析师、高级程序员、资深开发人员

2、涉及到微服务技术转型的团队负责人、规划师、架构师

3、云服务运营服务提供商规划负责人

培训内容

第一讲 微服务架构基础

  目的:

    1,理解为什么微服务架构是应对当今激烈市场竞争的解决之道

    2,理解规模化团队的组织形式:跨功能团队与微服务架构

    3,理解微服务架构如何支持技术架构的快速演化

    4,理解微服务架构如何支持未来大数据的转型

  内容:

    1,快速变化的年代需要快速交付

        a. 快速变化的市场与快速更迭的技术带来发展机遇

        b. 激烈竞争的新兴市场需要更快速的交付去占领市场

    2,规模化团队快速交付的困局

        a. 烟囱式的开发团队导致烟囱式的软件开发

        b. 烟囱式的软件开发导致烟囱式的软件交付

    3,解决思路:

        a. 跨功能团队(特性团队)的组织形式

        b. 将单体应用改为微服务架构

    4,准确理解微服务架构

        a. 准确理解微服务架构“小而专”的概念提高设计质量

        b. 准确理解微服务“去中心化的技术治理”去快速技术演化

        c. 准确理解微服务“去中心化的数据管理”做大数据转型

 

第二讲 微服务架构设计

  目的:

    1,准确理解“小而专”与单一职责原则在微服务的设计

    2,掌握领域驱动的业务建模、微服务拆分设计过程

    3,准确理解领域驱动设计中的聚合、限界上下文及领域事件等方法的设计

    4,掌握在需求变更过程中运用领域驱动设计提高设计质量

  内容:

    1,快速变化的时代要求快速交付

        a. 快速交付要求代码质量提高,维护成本降低

        b. 快速交付带来代码的频繁变更,加剧了代码退化

    2,怎样在快速交付过程中保持代码质量

        a. 演示代码退化的过程 → 多职责与散弹式修改

        b. 追寻代码退化的根源 → 解决方案:两顶帽子

        c. 应对复杂应用的解决之道——领域驱动+微服务

    3,演练领域驱动设计的过程

       案例:在线订餐系统的设计

        a. 业务分析:统一语言与事件风暴

        b. 领域设计:服务、实体、值对象

        c. 微服务拆分:聚合、限界上下文与领域事件

    4,业务需求变更

        a. 原始需求的设计过程

        b. 添加打折促销功能(先在领域模型中分析设计)

        c. 添加VIP会员功能(微服务的变更维护)

        d. 添加秒杀、预订、闪购等功能(微服务的技术演化)

 

第三讲 微服务架构的技术方法

  目的:

    1,掌握微服务架构过程中的所使用的各自技术组件

    2,演练微服务架构的构建过程

    3,理解微服务架构过程中的技术难题与解决之道

  内容:

    1,演练微服务架构的构建过程

        a. 降级微服务的注册中心,及其设计实践

        b. 演练构建注册中心、生产者与消费者的整个过程

        c. 讲解微服务的熔断机制,及其设计实践

        d. 讲解微服务的服务降级,及其设计实践

        e. 讲解微服务的服务网关,及其设计实践

    2,微服务架构的工程实践

        a. 传统项目向微服务的转型过程

        b. 构建高可靠的注册中心与Eureka集群

        c. 微服务的跨语言调用,及其设计实践

 

第四讲 微服务架构的平台建设

  目的:

    1,掌握在真实项目中切实可行地开发微服务

    2,掌握既支持微服务又支持领域驱动的技术中台建设

  内容:

    1,演练在真实项目中开发微服务

        a. 微服务项目中父项目的设计

        b. 微服务项目中多套配置文件的设计

        c. 微服务项目中集中式配置中心的设计

    2,打造支持领域驱动+微服务的技术中台

        a. 降低技术门槛,减少开发工作量 → 制订规范、合理分层、降低复杂度

        b. 易于业务变更,易于架构演化 → 将业务与技术解耦

           a) 将业务与技术解耦 → 整洁架构与六边形架构

           b )提取共性,精简业务代码 → 单Controller,单Dao

    3,支持领域驱动,支持微服务 → 通用仓库、工厂及基础设施的设计

        a. 通用、可配置的DDD仓库与工厂的设计

        b. 解决跨库的关联查询与事务处理

        c. 纯洁的Service与Entity便于不断地架构演化

 

第五讲 微服务架构的运维

  目的:

    1,理解DevOps的概念、作用,以及在微服务架构中如何快速交付

    2,实操Git+Jenkins+Docker+Kubernetes自动化运维体系

    3,实操Eureka+Config+Turbine+Zipkin在k8s中的云端部署

    4,实操Prometheus+Grafana+EFK的线上系统监控与日志采集

  内容:

    1,微服务架构需要DevOps自动化运维

        a. 剖析传统运维存在的“交付困难”的困局

        b. Who build who run it与DevOps的概念

        c. 敏捷团队快速交付的持续探索、持续集成、持续交付与按需发布

        d. DevOps带来开发人员的负担与自动化运维

    2,自动化运维的工作原理

        a. Docker容器技术与发布标准化

        b. 分布式容器部署与Kubernetes

        c. 实操Git+Jenkins+Docker+Kubernetes的自动化部署过程

    3,打造微服务架构的自动化运维体系

        a. 注册中心Eureka在Kubernetes的分布式部署

        b. 配置中心Config在Kubernetes的分布式部署

        c. 断路器监控Turbine与路由优化Zipkin

    4,微服务云端架构的系统监控与日志采集

        a. Kubernetes的系统监控工具Prometheus+Grafana

        b. Kubernetes的日志采集工具EFK

 

汇款、微信转帐

 

汇款信息:

单位名称:北京市海淀区中科院计算所职业技能培训学校

开户行:工行海淀西区支行

账号:0200 0045 1920 0043 667

开户银行代码:1021 0000 0458

 

微信转账:

    步骤一:打开微信,扫描二微码付款时,点击打开微信右下角里的“发现”,在列表界面有一个“扫一扫”选项,点击打开“扫一扫”(如下图):

    步骤二:点击打开“扫一扫”后,会出现一个扫描框,将中科院计算所培训中心二维码/条码放入框内,即可自动扫描,并显示支付信息,输入付款金额。

                                                                                                        

    (中科院计算所培训中心二维码)

 

    步骤三:点击 “添加付款备注”,填写付款人姓名和单位全称,所有信息核对无误后,点击“确认付款”,完成支付。

 

                

 

  • 注意:步骤三是为了尽快确认您的培训费用是否到帐,方便为您查帐,所以一定要把付款人姓名和单位名称填写完整,如果姓名和单位名称超过20个汉字,单位名称可以填写简称。

京公网安备 11010802025851号

 京ICP备14030124号-1  

QQ咨询

免费电话

010-82661221

微信咨询

微信客服

在线报名

返回顶部