结盟众多企业“教练”, 共同设计、开发及提供人才培养解决方案,通过新颖多样的学习方式,针对性的定制化内容,助力企业全面提升竞争优势。
刘捷
2-3天
6800
随着 RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务架构逐渐成为系统架构的一个代名词。那么微服务是否是业界期待已久的企业架构解决方案呢?在微服务架构的实施过程中存在着怎样的困难和挑战呢?在过去几年的时间里,我们一直在探索和实践,将其复杂的业务支撑系统逐渐演进为基于微服务架构的系统。这期间也经历了从微服务的理论认识,到小范围实践、迭代,再到多个基于微服务构建的项目已经成功上线的过程。在感受微服务为开发实践、测试策略、部署、运维等带来改变的同时,也切身体会到使用微服务架构,对系统灵活性、可伸缩性方面的提升,以及对团队应对变化能力的提升。鉴于此,本课程从实践的角度出发,首先阐述了单块架构存在的弊端以及微服务的理论基础。接着通过实践部分,让读者能够体验从零开始搭建第一个微服务的过程,包括代码静态检查、基础设施构建、 Docker映像构建及部署、持续交付流水线、服务的日志聚合以及监控和告警。随后,探讨在微服务的实践过程中所积累的经验,包括基于 HAL的通信机制、消费者驱动的测试,并通过一个真实的案例,帮助读者更好地理解微服务架构所带来的灵活性、易扩展性和独立性。
微服务是一个快速发展的主题。尽管它不是一个新的想法(虽然这个词本身是),但世界各地的人们所获取的经验以及新技术的出现正在对如何使用它产生深远的影响。因为其变化的节奏很快,所以本课程更加关注理念,而不是特定技术,因为实现细节变化的速度总是比它们背后的理念要快得多。而且,我完全相信几年后我们会对微服务适用的场景了解更多,也会知道如何更好地使用它。
该课程适应于各类技术人员.细粒度的微服务架构包含了很多方面的内容,所以本课程涉及范围很广,适用于对系统的设计、开发、部署、测试和运维感兴趣的人们。对于那些已经走上更细粒度架构之路的人,无论是开发新应用,还是拆分现有的单块系统,都会因课程里很多的实用建议而受益。对于想要了解微服务方方面面的人,也可以帮助你确定微服务是否适合你。
主题 | 培训内容 | 备注 |
---|---|---|
第1单元 微服务架构概述 |
内容一:微服务架构诞生—为什么出现微服务架构 1. 单块架构及其面临的挑战 2. 分层应用架构 3. 单块架构特点 4. 单块架构面临的挑战 5. 通过某传统ERP系统为案例分析上线后问题 内容二:微服务架构与SOA架构 1. SOA的基本概念 2. SOA方法学和其他方法学的比较 3. 面向服务的分析和设计概述 4. SOA概念层次 5. SOA参考架构 6. SOA基础架构设施 7. ESB基础概念和职责 8. 协议驱动和API驱动的ESB 9. BPM概念和SOA 10. 业务流程建模和基于服务的BPM 11. 软件体系结构的演变和面向服务的设计原则 12. 通过多个SOA架构案例分析 内容三:微服务架构 1. 为什么需要微服务架构 2. 如何解决传统应用架构的问题 3. 微服务架构是什么 4. 微服务架构概念 5. 微服务架构参考架构模式 6. 通过分析多个微服务架构案例,了解微服务架构的参考模式 |
|
第2单元-微服务架构—服务分解和集成 |
内容一:微服务分解和颗粒度 1. 微服务架构构成(服务拆分、服务拓扑关系图); 2. 微服务架构设计原则; 3. 微服务架构服务粒度设计; 4. 微服务架构之我们的实践案例; 5. 通过大量项目案例分析,什么是好的服务,服务的分解和服务颗粒度 内容二:微服务集成 1. 微服务集成 2. 微服务集成技术 3. 避免破坏性修改 4. 保证API的技术无关性 5. 使你的服务易于消费方使用 6. 隐藏内部实现细节 7. 微服务接口-为用户创建接口 8. 微服务同步与异步 9. 微服务编排与协同 10. 微服务远程过程调用 11. 微服务REST和HTTP 12. 实现基于事件的异步协作方式 13. 通过大量项目案例分析,服务的集成 |
|
第3单元-微服务架构设计开发实现—基于SpringBoot和SpringCloud 动手实现一个完整的微服务 |
内容一:微服务架构开发实现---SpringBoot 1. Spring Boot概述 2. 运用Spring Boot 3. Groovy与Spring Boot CLI 4. 在Spring Boot中使用Grails 5. 深入Actuator 6. 部署Spring Boot应用程序 7. Spring Boot 的数据访问 8. Spring Boot 企业级开发 9. Spring Boot 开发部署与测试 10. 多个基于SpringBoot实际项目的架构分析(为何这样设计/优点/缺点/当初的考虑) 内容二:微服务架构与云架构--Spring Cloud平台 1. 云计算平台架构 2. 为什么选择Spring Cloud 3. Spring Cloud 4. 服务治理:Spring Cloud Eureka 5. 客户端负载均衡:Spring Cloud Ribbon 6. 服务容错保护:Spring Cloud Hystrix 7. 声明式服务调用:Spring Cloud Feign 8. 分布式配置中心:Spring Cloud Config 9. 消息总线:Spring Cloud Bus 10. 多个基于SpringBoot和SpringCloud云架构,谈微服务和云架构 |
|
第4单元--微服务架构基础框架和平台 |
内容一:微服务基础\平台 1. 微服务架构设计之开发框架选择(Spring Boot); 2. 微服务架构设计之容器选择(Docker); 3. 微服务架构设计之服务注册选择(Zookeeper、Etcd、Consul); 4. 微服务架构设计之服务网关选择(Nginx、Node.js、Netflix Zuul); 5. 微服务架构设计之自动化部署选择(Jenkins、GitLab CI); 6. 微服务架构设计之最佳实践案例 |
|
第5单元--微服务注册与发现 |
内容一:微服务注册 1. 为什么要服务注册 2. 服务注册实现方式 3. 使用NetflixEureka/SpringCloud实现服务注册 4. 使用NetflixRibbon/SpringCloud实现客户端负载均衡 内容二:微服务发现 1. 为什么要服务发现 2. 服务发现的实现方式 |
|
第6单元--微服务建模与领域驱动设计 |
内容一:微服务建模 1. 如何建模服务 2. 什么样的服务是好服务 3. 微服务的松耦合和高内聚 4. 微服务限界上下文 5. 微服务的业务功能 6. 逐步划分服务上下文 7. 微服务与业务概念 8. 微服务技术边界 9. 通过案例分析微服务建模 内容二:微服务与领域驱动设计 1. 微服务基础及领域驱动设计 2. 领域驱动设计基本原理 3. 领域驱动设计的工件 4. 业务事件 5. 实体Entity及聚合Aggregation识别 6. 统一语言及限界上下文 7. 服务划分及定义 8. 通过案例分析微服务划分和领域驱动设计 |
|
第7单元--微服务交付与测试 |
内容一:微服务测试-持续集成与测试 1. 微服务测试 2. 实现服务测试 3. 端到端测试的缺点 4. 跨功能的测试 5. 微服务测试案例分析 内容二:微服务发布 1. 微服务架构如何代码控制? 2. 微服务架构自动化测试? 3. 微服务架构如何预先发布验证? 4. 微服务架构如何灰度发布? 5. 微服务架构如何自动化发布? 6. 微服务架构设计软件质量保证最佳实践是什么 |
|
第8单元--微服务架构运维与监控 |
内容一:微服务运维和监控 1. 微服务系统设计监控重要性? 2. 微服务系统设计监控数据采集方法是什么? 3. 微服务系统设计如何监控设计? 4. 微服务系统语义监控如何做? 5. 微服务系统进程监控如何做? 6. 微服务系统错误日志监控如何做? 7. 微服务系统设计监控的最佳实践是什么? 8. 最佳实践与案例分析 |
|
第9单元--使用微服务架构改造遗留系统 |
内容一:使用微服务架构改造遗留系统 1. 背景与挑战 2. 改造策略 3. 逐步替换微服务 4. 功能剥离和封装 5. 依赖数据解耦和基础数据共享 6. 通过案例分析微服务架构改造 |
|