| 第一部分  云计算架构 | 
| 云概览 | 
为什么需要“云”都有哪些云云框架包括哪些内容如何构建云 | 
| 云计算平台与云计算关键技术 | 
云计算平台架构虚拟机与计算资源池:分布式文件系统与存储资源池网络虚拟化与网络资源池并行计算与Mapreduce分布式海量存储数据库云技术安全 | 
| 三种云服务 | 
IaaS云计算服务
aaS服务内容:存储服务、计算服务IaaS案例IaaS解决方案PaaS云计算服务
PaaS服务内容:开发服务、运行服务PaaS案例PaaS解决方案:Google、vmvare、hadoop等SaaS云计算服务
 | 
| 基于云平台,构建云应用 | 
云计算发展现状和遇到的挑战如何有效地落在云端从云平台到应用的工作路线图 | 
| 云平台微服务架构 | 
| 微服务架构概述 | 什么是微服务架构 微服务架构是敏捷开发的必然结果
 
 1.单体应用的优势与面临的挑战微服务是未来互联网发展的必然结果
 
2.康威定律与人月神话案例:演示淘宝在系统不断发展的过程中面临的难题许多系统在不断发展过程中越来越庞大带来的问题 
 
3.未来快速变化的市场需要敏捷团队烟囱式的功能团队导致烟囱式的应用人员越来越多、沟通越来越困难、工作效率越来越低 
 
更快地交付、更快地反馈、更快地产生价值敏捷化的开发团队呼唤微服务架构 
 1.互联网的发展及其面临的挑战微服务架构给测试与运维带来的挑战
 
2.微服务能够更好地解决互联网问题案例:分析淘宝近十年的发展及其面临的挑战互联网在面临横向扩展、服务隔离等问题的局限 
 
分析传统架构在解决互联网问题时采用的办法讲解微服务架构应当是什么样子剖析微服务架构在解决诸多互联网问题时的思路 
 1.微服务架构给测试带来的挑战2.微服务架构给运维带来的调整
 
 
微服务架构与DevOps微服务架构的管理与发布过程 | 
| 准确认识微服务 | 关于微服务的误解 1.微服务 vs. SOA
 
 案例:SOA在项目中的应用2.微服务架构的本质案例:微服务在项目中的应用
 微服务与SOA的联系与差异
 
 
案例:演示出租车调度系统的微服务设计过程由服务组件组成的系统按照业务而不是技术来组织服务做全生命周期的产品而不是项目智能端点与通道扁平化去中心化治理去中心化数据管理自动化运维(DevOps)故障恢复与容错演化式设计   | 
| 微服务架构设计 | 
| 微服务常用架构 | 最简版的微服务架构 
 1.服务注册与发现微服务常用的技术框架2.服务网关
 3.微服务
 4.配置管理
 
 1.Spring Cloud简介2.Spring Boot简介
 | 
| 服务注册与发现 | 服务注册与发现的概念与作用 实现服务注册与发现的方案
 
 1.Dubbo的简介Spring  Cloud Eureka方案2.Zookeeper的简介
 3.Netflix Eureka的简介
 
 
 1.Spring Cloud Eureka的系统架构练习:使用Eureka构建微服务系统2.Eureka Server的设计
 3.Eureka  Client的设计
 4.服务发现的设计
                            
                            5.高可靠设计与Eureka集群
 | 
| 服务网关 | 服务网关在微服务架构中的作用 
 1.多渠道用户接入练习:设计服务网关、路由网关与断路器2.微服务的负载均衡
 3.路由网关(zuul)
 
 
4.熔断机制与服务降级蓝绿发布、滚动发布、灰度发布与金丝雀发布权限验证与安全保障路由网关的设计实现 
5.流量控制与节流断路器设计模式线程池隔离、优雅降级与熔断Hystrix的断路器设计 | 
| 微服务层的设计 | 微服务架构的6种设计模式 
 1.聚合模式案例:微服务实现异步化操作
 
2.代理模式互联网纵向切分在微服务的实现纵向切分应当注意的设计问题避免跨库关联查询的设计采用分布式事务解决跨库的事务操作 3.链式模式
 4.分支模式
 5.数据共享模式
 6.异步消息模式
 微服务的粒度
 微服务设计的反模式
 
 1.太多数据迁移探讨:如何解决微服务接口太多的问题2.数据共享反模式
 3.频繁交互反模式
   | 
| Docker与容器技术 | Docker简介 
 1.Docker vs.  虚拟化将微服务部署到Docker中2.Docker的运行方式
 3.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.微服务架构如何支持领域驱动
 案例:一个简单、易于开发的微服务架构
 
 | 
| 传统架构的云平台与微服务转型 | 传统架构云平台与微服务转型的过程 1.技术转型准备工作:Maven→Spring  boot
 整理分层:MVC层与BUS层的分离
 建立微服务:注册中心、服务网关与微服务
 2.业务拆分
 构建领域模型与限界上下文
 业务与数据库的纵向切分
 初创型企业的微服务建设过程
 案例:某智慧医疗系统的建设过程
 
 1.系统的建设规划成熟型企业开展云平台与微服务的思路2.系统的分析设计过程
 3.微服务架构设计与对外接口
 4.微服务运营平台的建设
 
 1.成熟企业开展云平台与微服务的难题案例:某金融企业向微服务转型的过程2.记录型系统 vs. 交互型系统
 3.在混合云中构建交互型系统
 大数据+微服务的转型过程
 案例:某BI系统的云平台+大数据+微服务的转型过程
 
 1.该BI系统的背景介绍探讨:大数据如何与微服务相结合2.互联网转型带来的机遇与挑战
 3.大数据的转型过程
 4.微服务的转型过程
 5.构建分析模型Store平台
 |