云平台与微服务架构设计培训课程
培训对象: 中高级工程师、企业架构师、软件设计师、技术决策/解决方案人员等。
学员基础:具有软件架构设计、尤其是互联网应用设计和开发经验
培训内容:
第一部分 云计算架构
|
云概览
|
· 为什么需要“云”
· 都有哪些云
· 云框架包括哪些内容
· 如何构建云
|
云计算平台与云计算关键技术
|
· 云计算平台架构
· 虚拟机与计算资源池:
· 分布式文件系统与存储资源池
· 网络虚拟化与网络资源池
· 并行计算与Mapreduce
· 分布式海量存储数据库
· 云技术安全
|
三种云服务
|
· IaaS云计算服务
· aaS服务内容:存储服务、计算服务
· IaaS案例
· IaaS解决方案
· PaaS云计算服务
· PaaS服务内容:开发服务、运行服务
· PaaS案例
· PaaS解决方案:Google、vmvare、hadoop等
· SaaS云计算服务
· SaaS服务内容
· SaaS案例
|
基于云平台,构建云应用
|
· 云计算发展现状和遇到的挑战
· 如何有效地落在云端
· 从云平台到应用的工作路线图
|
云平台微服务架构
|
微服务架构概述
|
什么是微服务架构
微服务架构是敏捷开发的必然结果
1.单体应用的优势与面临的挑战
o 案例:演示淘宝在系统不断发展的过程中面临的难题
o 许多系统在不断发展过程中越来越庞大带来的问题
2.康威定律与人月神话
o 烟囱式的功能团队导致烟囱式的应用
o 人员越来越多、沟通越来越困难、工作效率越来越低
3.未来快速变化的市场需要敏捷团队
o 更快地交付、更快地反馈、更快地产生价值
o 敏捷化的开发团队呼唤微服务架构
微服务是未来互联网发展的必然结果
1.互联网的发展及其面临的挑战
o 案例:分析淘宝近十年的发展及其面临的挑战
o 互联网在面临横向扩展、服务隔离等问题的局限
2.微服务能够更好地解决互联网问题
o 分析传统架构在解决互联网问题时采用的办法
o 讲解微服务架构应当是什么样子
o 剖析微服务架构在解决诸多互联网问题时的思路
微服务架构给测试与运维带来的挑战
1.微服务架构给测试带来的挑战
o 微服务架构与持续集成
o 微服务架构采用的测试工具
2.微服务架构给运维带来的调整
o 微服务架构与DevOps
o 微服务架构的管理与发布过程
|
准确认识微服务
|
关于微服务的误解
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.服务发现的设计
o 使用ribbon的设计
o 使用feign的设计
5.高可靠设计与Eureka集群
练习:使用Eureka构建微服务系统
|
服务网关
|
服务网关在微服务架构中的作用
1.多渠道用户接入
o 微服务前后端分离的架构设计
2.微服务的负载均衡
o 负载均衡的难题:Session管理
3.路由网关(zuul)
o 蓝绿发布、滚动发布、灰度发布与金丝雀发布
o 权限验证与安全保障
o 路由网关的设计实现
4.熔断机制与服务降级
o 断路器设计模式
o 线程池隔离、优雅降级与熔断
o Hystrix的断路器设计
5.流量控制与节流
练习:设计服务网关、路由网关与断路器
|
微服务层的设计
|
微服务架构的6种设计模式
1.聚合模式
o 互联网纵向切分在微服务的实现
o 纵向切分应当注意的设计问题
o 避免跨库关联查询的设计
o 采用分布式事务解决跨库的事务操作
2.代理模式
o 互联网横向切分与读写分离在微服务的实现
3.链式模式
o 复杂应用场景与生产流水线的设计思路
4.分支模式
5.数据共享模式
6.异步消息模式
案例:微服务实现异步化操作
微服务的粒度
1.微服务的拆分原则
2.微服务的拆分方式
微服务设计的反模式
1.太多数据迁移
2.数据共享反模式
3.频繁交互反模式
探讨:如何解决微服务接口太多的问题
|
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.微服务架构如何支持领域驱动
案例:一个简单、易于开发的微服务架构
如何实现前端微服务化的设计
|
传统架构的云平台与微服务转型
|
传统架构云平台与微服务转型的过程
1.技术转型
准备工作:Maven→Spring boot
整理分层:MVC层与BUS层的分离
建立微服务:注册中心、服务网关与微服务
2.业务拆分
构建领域模型与限界上下文
业务与数据库的纵向切分
初创型企业的微服务建设过程
案例:某智慧医疗系统的建设过程
1.系统的建设规划
2.系统的分析设计过程
3.微服务架构设计与对外接口
4.微服务运营平台的建设
成熟型企业开展云平台与微服务的思路
1.成熟企业开展云平台与微服务的难题
2.记录型系统 vs. 交互型系统
3.在混合云中构建交互型系统
案例:某金融企业向微服务转型的过程
大数据+微服务的转型过程
案例:某BI系统的云平台+大数据+微服务的转型过程
1.该BI系统的背景介绍
2.互联网转型带来的机遇与挑战
3.大数据的转型过程
4.微服务的转型过程
5.构建分析模型Store平台
探讨:大数据如何与微服务相结合
|
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请
服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。
专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获