近些年,随着互联网的不断发展,市场变化越来越快,需求变更越来越频繁。为了能够跟上市场变化的脚步,在市场竞争中占得先机,越来越多的研发团队选择敏捷开发、快速迭代。然而,越来越庞大的软件系统,越来越复杂的业务逻辑,使得系统维护变得越来越困难,变更成本越来越大,团队工作效率越来越低。许多用户需求需要拖延数月才能交付,使得软件企业痛失有利商机,在市场竞争中处于不利地位。微服务架构正是解决复杂系统的应对之策。
微服务架构将复杂系统化整为零,拆分成一个一个的微服务。然后,将庞大的开发团队拆分成一个一个的独立功能团队,去维护各自的微服务。采用微服务架构降低了团队沟通的成本,降低了系统维护的复杂度,更降低了系统发布的周期,使得我们可以快速交付、快速应对市场需求。
但是,微服务应当如何架构?它有哪些技术特点与技术难点?本课程将会用许多的真实案例讲解,什么是微服务,如何用微服务架构我们的系统,并用工作坊的形式,实际带领学员去架构微服务,在动手中获得知识。
此外,微服务只是工具,只学会工具不行,还要学会如何去运用。微服务背后的理论基础是单一职责原则、领域驱动设计。因此,本课程会带领学员站在更深的层次,去深入领悟单一职责原则的本质,深入学习领域驱动设计的过程,以及如何运用它们在复杂的系统中提高代码质量、应对需求变更,并以此为基础将需求转换为微服务系统的设计。
课程的最后将更加务实地探讨一些在微服务转型过程中大家普遍关心的问题:传统架构如何转型微服务?初创型企业如何建设微服务?成熟型企业开展微服务的思路,以及微服务如何与大数据相结合。
培训特色
本课程注重实战,并以工作坊的形式提供很多案例,让学员通过练习掌握微服务架构设计的过程,以及从传统架构向微服务改造的过程。同时,通过大量真实的案例,讲解许多公司在开展微服务转型过程中面临的难题、解决的思路,以及最终的设计。
培训对象
中高级工程师、企业架构师、软件设计师、技术决策/解决方案人员等。
培训内容
时间 |
内容 |
第一天 上午 |
第一单元 微服务架构概述 什么是微服务架构 微服务是未来互联网发展的必然结果
案例:分析淘宝近十年的发展及其面临的挑战 互联网在面临横向扩展、服务隔离等问题的局限
讲解什么是微服务架构 剖析微服务架构在解决诸多互联网问题时的思路
微服务架构是应对快速市场变化的必然结果
市场需要更快速的价值交付与技术迭代 软件规模化发展导致软件交付速度的降低
特性团队组织与微服务架构 去中心化技术治理与去中心化数据管理 第二单元 微服务常用架构 基于Spring Cloud Alibaba的微服务技术框架
最简版的微服务架构
|
第一天 下午 |
第三单元 服务注册与发现 Nacos注册中心的方案
演练:使用Nacos构建微服务系统
|
第二天 上午 |
第四单元 微服务层的设计 微服务架构的6种设计模式
案例:电商网站购物功能的设计
案例:电商网站下单服务的设计 单一职责原则与领域驱动设计
案例:电商网站支付功能的设计思路 案例:电商网站多渠道支付的微服务实现
案例:微服务+数据中台的建设思路 案例:分布式数据库的架构设计
案例:12306的异步化操作 案例:电商网站异步化操作的微服务实现
微服务的粒度
微服务设计的反模式
探讨:如何解决微服务接口太多的问题 |
第二天 下午 |
第五单元 领域驱动设计 为什么我们需要领域驱动设计
实践DDD的4大难题:
DDD真正的作用是应对日后的软件维护
案例:演示电商网站付款功能代码质量下降的过程 案例分析:揭示软件退化的根源
案例:演示嵌入式温控系统越来越难于维护的根源 案例分析:领域分析才是解决之道
案例分析:演示电商网站付款功能代码质量下降的过程 1. 起初的设计 2. 随后的变更 3. 质量不断下降的过程
软件质量下降的根源: 1. 软件总是因变更而变得越来越复杂 2. 软件结构已经不再适应复杂的软件需求 3. 必须要调整软件结构以适应新的软件需求
DDD是应对软件复杂性之道
基于领域模型的设计变更
案例:重新演练电商网站付款功能的变更过程 第一个版本的领域模型与设计 第一次变更的分析设计过程 第二场变更的设计实现 第三次变更的设计实现 第四次变更与架构演化 |
汇款、微信转帐
汇款信息:
单位名称:北京市海淀区中科院计算所职业技能培训学校
开户行:工行海淀西区支行
账号:0200 0045 1920 0043 667
开户银行代码:1021 0000 0458
微信转账:
步骤一:打开微信,扫描二微码付款时,点击打开微信右下角里的“发现”,在列表界面有一个“扫一扫”选项,点击打开“扫一扫”(如下图):
步骤二:点击打开“扫一扫”后,会出现一个扫描框,将中科院计算所培训中心二维码/条码放入框内,即可自动扫描,并显示支付信息,输入付款金额。
(中科院计算所培训中心二维码)
步骤三:点击 “添加付款备注”,填写付款人姓名和单位全称,所有信息核对无误后,点击“确认付款”,完成支付。