|
|
|
|
|
ȫ���γ� >架构设计 |
|
微服务+领域驱动实战训练营 |
4175 次浏览 52 次
|
|
|
地点时间:北京、深圳、上海根据报名开班 |
课程费用:5700元/人,详见
公开课学习手册 |
|
|
|
企业内训:可以根据企业需求,定制内训,详见
内训学习手册 |
|
|
认证方式:
培训前了解能力模型。
培训后进行能力评测:
在线考试
能力分析,给出学习建议
合格者颁发证书,作为职业技能资格证明
|
|
|
|
近些年,随着互联网的不断发展,市场变化越来越快,需求变更越来越频繁。为了能够跟上市场变化的脚步,在市场竞争中占得先机,越来越多的研发团队选择敏捷开发、快速迭代。然而,越来越庞大的软件系统,越来越复杂的业务逻辑,使得系统维护变得越来越困难,变更成本越来越大,团队工作效率越来越低。许多用户需求需要拖延数月才能交付,使得软件企业痛失有利商机,在市场竞争中处于不利地位。微服务架构正是解决复杂系统的应对之策。
微服务架构将复杂系统化整为零,拆分成一个一个的微服务。然后,将庞大的开发团队拆分成一个一个的独立功能团队,去维护各自的微服务。采用微服务架构降低了团队沟通的成本,降低了系统维护的复杂度,更降低了系统发布的周期,使得我们可以快速交付、快速应对市场需求。
但是,微服务应当如何架构?它有哪些技术特点与技术难点?本课程将会用许多的真实案例讲解,什么是微服务,如何用微服务架构我们的系统,并用工作坊的形式,实际带领学员去架构微服务,在动手中获得知识。
此外,微服务只是工具,只学会工具不行,还要学会如何去运用。微服务背后的理论基础是单一职责原则、领域驱动设计。因此,本课程会带领学员站在更深的层次,去深入领悟单一职责原则的本质,深入学习领域驱动设计的过程,以及如何运用它们在复杂的系统中提高代码质量、应对需求变更,并以此为基础将需求转换为微服务系统的设计。
课程的最后将更加务实地探讨一些在微服务转型过程中大家普遍关心的问题:传统架构如何转型微服务?初创型企业如何建设微服务?成熟型企业开展微服务的思路,以及微服务如何与大数据相结合。
|
|
培训对象:中高级工程师、企业架构师、软件设计师、技术决策/解决方案人员等。 |
学员基础:对微服务有一些了解,最好有些微服务开发的实践经验 |
授课方式: |
本课程注重实战,并以工作坊的形式提供很多案例,让学员通过练习掌握微服务架构设计的过程,以及从传统架构向微服务改造的过程。同时,通过大量真实的案例,讲解许多公司在开展微服务转型过程中面临的难题、解决的思路,以及最终的设计。 |
培训内容:3天
|
第一部分
基础知识 |
第一单元
微服务架构概述 |
什么是微服务架构
微服务架构是敏捷开发的必然结果
1. 单体应用的优势与面临的挑战
案例:演示淘宝在系统不断发展的过程中面临的难题
许多系统在不断发展过程中越来越庞大带来的问题
2. 康威定律与人月神话
烟囱式的功能团队导致烟囱式的应用
人员越来越多、沟通越来越困难、工作效率越来越低
3. 未来快速变化的市场需要敏捷团队
更快地交付、更快地反馈、更快地产生价值
敏捷化的开发团队呼唤微服务架构 微服务是未来互联网发展的必然结果
1. 互联网的发展及其面临的挑战
案例:分析淘宝近十年的发展及其面临的挑战
互联网在面临横向扩展、服务隔离等问题的局限
2. 微服务能够更好地解决互联网问题
分析传统架构在解决互联网问题时采用的办法
讲解微服务架构应当是什么样子
剖析微服务架构在解决诸多互联网问题时的思路
微服务架构给测试与运维带来的挑战
1. 微服务架构给测试带来的挑战
微服务架构与持续集成
微服务架构采用的测试工具
2. 微服务架构给运维带来的调整
微服务架构与DevOps
微服务架构的管理与发布过程
|
第二单元
准确认识微服务 |
关于微服务的误解
1. 微服务 vs. SOA
案例:SOA在项目中的应用
案例:微服务在项目中的应用
微服务与SOA的联系与差异
2. 微服务架构的本质
由服务组件组成的系统
按照业务而不是技术来组织服务
做全生命周期的产品而不是项目
智能端点与通道扁平化
去中心化治理
去中心化数据管理
自动化运维(DevOps)
故障恢复与容错
演化式设计
案例:演示出租车调度系统的微服务设计过程
|
第二部分
微服务架构设计 |
第三单元
微服务常用架构 |
最简版的微服务架构
1. 服务注册与发现
2. 服务网关
3. 微服务
4. 配置管理
微服务常用的技术框架
1. Spring Cloud简介
2. Spring Boot简介 |
第四单元
服务注册与发现 |
服务注册与发现的概念与作用
实现服务注册与发现的方案
1. Dubbo的简介
2. Zookeeper的简介
3. Netflix Eureka的简介 Spring Cloud Eureka方案
1. Spring Cloud Eureka的系统架构
2. Eureka Server的设计
3. Eureka Client的设计
4. 服务发现的设计
使用ribbon的设计
使用feign的设计
5. 熔断机制
断路器设计模式
线程池隔离、优雅降级与熔断
Hystrix的断路器设计
6. 高可靠设计与Eureka集群
练习:使用Eureka构建微服务系统
1. Eureka Server
2. Eureka Client
3. 使用ribbon/feign进行微服务间调用
4. 设计熔断器 |
第五单元
微服务层的设计 |
微服务架构的6种设计模式
1. 聚合模式
互联网纵向切分在微服务的实现
纵向切分应当注意的设计问题
避免跨库关联查询的设计
采用分布式事务解决跨库的事务操作
2. 代理模式
互联网横向切分与读写分离在微服务的实现
3. 链式模式
复杂应用场景与生产流水线的设计思路
4. 分支模式
5. 数据共享模式
6. 异步消息模式
案例:微服务实现异步化操作 微服务的粒度
1. 微服务的拆分原则
2. 微服务的拆分方式
微服务设计的反模式
1. 太多数据迁移
2. 数据共享反模式
3. 频繁交互反模式
探讨:如何解决微服务接口太多的问题
|
第六单元
服务网关 |
服务网关在微服务架构中的作用
1. 多渠道用户接入
微服务前后端分离的架构设计
2. 微服务的负载均衡
负载均衡的难题:Session管理
3. 路由网关(zuul)
蓝绿发布、滚动发布、灰度发布与金丝雀发布
权限验证与安全保障
路由网关的设计实现
4. 流量控制与节流
练习:设计服务网关、路由网关与断路器
|
第七单元
Docker与容器技术 |
Docker简介
1. Docker vs. 虚拟化
2. Docker的运行方式
3. Docker的基本操作
将微服务部署到Docker中
演练:微服务在Docker中的部署过程
练习:模拟构建一个微服务系统
|
第八单元
配置管理与DevOps |
DevOps简介
1. 微服务为什么需要DevOps
2. 微服务的测试过程
3. 微服务的发布过程 微服务配置中心
1. Spring Cloud Config的配置过程
2. Spring Cloud Config的发布过程
微服务的分布式运维
1. Kubernetes简介
2. 用Kubernetes进行分布式运维
探讨:如何构建一个微服务运营平台
|
第三部分
微服务的系统设计 |
第九单元
领域驱动设计 |
所有软件企业不得不面对的问题
1. 我们现在面对的是快速变化的时代
2. 软件研发却出现了问题:
变更越频繁,代码质量下降越快
案例:演示电商网站付款功能代码质量下降的过程
3. 揭示软件退化的根源
案例:演示软件退化的过程与高质量设计的过程
深度解读高内聚与单一职责原则 领域驱动设计
1. 软件变更过程中的设计难题
2. 领域驱动的设计思想
案例:重新演练电商网站付款功能的变更过程
第一个版本的领域模型与设计
构建用例模型
构建领域模型
构建领域事件
第一次变更的分析设计过程
演示领域分析不断深入的过程
演示领域驱动指导软件变更的过程
第二次变更与两顶帽子的设计方式
第三次变更与限界上下文
聚合、工厂、仓库的设计
限界上下文与微服务
3. 领域驱动的设计实现
贫血模型 vs. 充血模型
领域驱动在传统架构中的实现
领域驱动在微服务架构中的实现
在微服务中使用领域事件
1. 认识领域事件
2. 事件风暴(Event Storming)
3. 聚合、聚合根及其应用
4. 工厂、仓库及其设计实现
5. 限界上下文与微服务
案例:智慧诊疗系统的领域驱动过程
软件架构如何支持领域驱动
1. 架构调整不是件简单的事儿
如何实现业务领域层与技术框架的解耦
如何简化业务实现的过程
2. 架构设计如何支持领域驱动
增删改如何支持领域驱动
查询如何支持领域驱动
3. 微服务架构如何支持领域驱动
案例:一个简单、易于开发的微服务架构
如何实现前端微服务化的设计
|
第十单元
传统架构的微服务转型 |
传统架构微服务转型的过程
1. 技术转型
准备工作:Maven→Spring boot
整理分层:MVC层与BUS层的分离
建立微服务:注册中心、服务网关与微服务
2. 业务拆分
构建领域模型与限界上下文
业务与数据库的纵向切分
练习:将一个传统架构的软件改造成微服务 初创型企业的微服务建设过程
案例:某智慧医疗系统的建设过程
1. 系统的建设规划
2. 系统的分析设计过程
3. 微服务架构设计与对外接口
4. 微服务运营平台的建设
成熟型企业开展微服务的思路
1. 成熟企业开展微服务的难题
2. 记录型系统 vs. 交互型系统
3. 在混合云中构建交互型系统
案例:某金融企业向微服务转型的过程
大数据+微服务的转型过程
案例:某风控系统的大数据+微服务的转型过程
1. 该风控系统的背景介绍
2. 互联网转型带来的机遇与挑战
3. 后端大数据的转型过程
4. 前端微服务的转型过程
5. 构建风险分析模型的AppStore平台
探讨:大数据如何与微服务相结合
|
|
|
|
|
|
|
|
|
4175 次浏览 52 次
|
其他人还看了课程 |
|
|
|
|
|
咨询目标
|
帮助客户梳理企业架构,
对企业架构进行建模,支持未来的企业架构规划和建设。
|
咨询范围 |
企业架构梳理:业务架构,数据架构,应用架构,技术架构
企业架构建模:业务模型,数据模型,应用模型,技术模型
|
咨询方式 |
对现有的企业架构进行调研、
对现有的企业架构进行建模
对现有的企业架构进行评价,给出评价标准。
对未来的企业架构进行规划
对未来的企业架构进行建模
规划企业架构迁移路线图。 |
成功案例 |
民生银行某IT支撑部门,中国金融电子某IT部门,某大型航空公司,某大型汽车厂商,某大型金融证券机构,某大型能源企业。
|
详情咨询:010-62670969, zhgx@uml.net.cn |
|
|
|
|
|