【1】 单块架构面临的挑战与微服务架构综述
|
单块架构的发展及面临的挑战 |
1.单块架构的发展历程
2.三层架构的演变
3.单块架构的优势
4.单块架构面临的挑战 维护成本
交付周期
新人培养周期
技术选型成本
【研讨点】:组织中单块架构的使用、面临的挑战 |
微服务架构的诞生与本质 |
什么是微服务架构
微服务架构与SOA
微服务架构技术成熟度模型
微服务不是银弹 |
微服务架构的特征 |
- 服务作为组件
- 围绕业务组织团队
- 关注产品而非项目
- 技术多样性
- 基础设施自动化 |
【研讨点】:为什么微服务成为近两年架构的代名词?
【研讨点】:微服务的优势与其面临的挑战? |
【体验与心得-A】
单块架构在互联网时代的挑战
【体验与心得-B】 拥抱变化与微服务架构 |
【2】 微服务架构原则与实践 |
微服务架构原则 |
1.围绕业务构建团队 康威定律
全功能团队
2.去中心化
3.自动化‘一切’
自动化测试
自动化部署
自动化基础设施搭建
1.演进式架构
业务
技术
团队
【研讨点】:去中心化 |
微服务架构实践 |
1.开发实践 构建独立代码库
如何定义服务的结构
如何撰写服务说明文件
搭建本地运行环境
2.测试实践
理解测试金字塔
单元测试
集成测试
组件测试
契约测试
【研讨点】:微服务架构的测试策略
3.部署与运维
微服务的部署环境
微服务的部署方式
基础设施自动化
4.持续集成与持续交付
|
【3】 如何构建第一个微服务(1.5小时) |
1.Demo需求分析
2.Hello World API(Ruby/Spring boot)
3.Docker入门
4.构建Docker映像
?使用Docker-machine
?使用Docker-compose
5.部署Docker映像
6.持续交付流水线
7.日志聚合、监控与告警
8.功能迭代
【研讨点】:使用Docker构建以及部署映像
【研讨点】:微服务下的日志聚合、监控与告警 |
【4】 微服务案例解读 |
结合老师的过去实战案例,分享使用微服务架构解耦大型企业系统的经验。
1.解耦实施策略
2.解耦实施步骤
3.微服务模板
4.自动化部署系统
案例一讲述如何将客户复杂的业务支撑系统逐渐演进为基于微服务架构的过程和实践。内容包括:
* 业务的拆分
* 遗留系统改造的策略
* 如何构建微服务模板
* 如何管理多服务的依赖 案例二讲述如何将客户复杂的系统,逐渐迁移到公有云,并完成微服务的实施之路,内容包括:
* 业务拆分
* 系统的演进
* 公有云的迁移
* DevOps与持续交付 |
【5】 微服务相关话题深度讨论 |
1.消费者驱动的契约测试
采用微服务架构实践的过程中,服务间的集成测试成了诸多企业微服务落地的痛点。本部分介绍了对于微服务间的测试,如何使用消费者驱动的PACT测试,完成对服务间的接口测试。
2.微服务间的同步/异步通信机制
3.微服务API设计最佳实践
采用微服务架构实践的过程中,API是服务之间或者服务和UI之间的重要接口。如何有效的设计API,如何管理API之间的版本变更,是在微服务实施过程中重要的一部分
4.分布式数据管理
采用微服务架构实践的过程中,分布式数据的管理成了诸多企业微服务落地的难点。本部分介绍对于分布式数据的管理,存在什么样实践和经验,主要包括:
a) 分布式事务介绍
b) 两阶段提交
c) Event Sourcing
5.微服务开发模板
6.微服务网关 |