课程简介
本课程共分为3个阶段,打造落地的微服务实践
阶段1:微服务初识&最简模式微服务快速落地( 2天)
阶段2:微服务架构基础设施进阶,夯实架构基础保障稳定运行( 2天)
阶段3:聚焦业务进化&微服务架构管理自动化( 2天)
目标收益
重点解决服务化难点:服务抽象/设计过程,设计难点。
培训对象
课程准备:需要客户准备一个现有模块用于进行服务化建设的case分析。
课程大纲
阶段1:主题:微服务初识&最简模式微服务快速落地( 2天) 1微服务架构原理与总体架构 |
1.1系统架构演进之路 1.2微服务总体介绍 1.3微服务架构优势 1.4微服务最小架构技术栈及原理 |
2微服务技术栈与实践 |
2.1技术栈推荐 2.2技术栈讲解 2.3实践最小微服务(需现场编码demo 1h) 2.4实践改造现有系统完成2个模块服务化目标【需提前准备好项目与模块】(需现场编码1h) |
3微服务设计 |
3.1微服务架构落地 3.1.1微服务设计思想 3.1.2微服务设计原则 3.1.3微服务服务层如何平滑切换 3.1.4架构设计模式 3.1.5服务粒度设计 3.1.6服务开发技术选型 3.1.7服务如何分层 3.1.8先进行服务改进 3.2微服务存储层设计 3.2.1关系数据库 3.2.1.1百亿数据百亿访问量的服务设计实践 3.2.1.1.1数据层设计 3.2.1.1.2缓存层设计 3.2.1.1.3服务平滑切换过程 3.2.1.1.4回滚方案保证 3.2.2id生成服务设计 3.2.3Memcache&redis 3.2.3.1互联网使用缓存类型有哪些 3.2.3.2分布式缓存冗余如何设计? 3.2.3.3高可用架构缓存一致性如何保证? 3.2.3.4静态一致性Hash、动态一致性Hash等 3.2.3.5高可用架构缓存高性能如何保证? 3.2.4大容量存储 3.2.4.1hbase 3.2.4.2图片存储 |
4微服务设计与实践 |
4.1互联网大型网站微服务介绍 4.1.1分类信息网站架构介绍 4.1.2电商类网站架构介绍 4.1.3实践:我们的架构设计【分组讨论画出我们的微服务架构1h】 4.1.3.1服务分层 4.1.3.2核心服务 4.1.3.3数据服务 4.1.3.4更多服务 |
阶段2:主题:微服务架构基础设施进阶,夯实架构基础保障稳定运行( 2天) 1微服务架构稳定性保障 |
1.1全站高可用性设计 1.1.1入口层高可用设计 1.1.2web层高可用设计 1.1.3服务层高可用设计 1.1.4存储层高可用设计 1.2监控平台 1.1.1接口监控 1.1.2关键字监控 1.1.3数据监控 1.1.4业务监控 1.2柔性可用设计 1.2.1服务层柔性可用 1.2.2缓存层柔性可用 1.2.3存储层柔性可用 1.3服务容量规划&设计 1.3.1消息队列 1.3.2容量提升方案 |
2服务注册&发现 |
2.1服务注册发现理论 2.2服务注册发现案例 2.3服务注册发现实践【编码实践1h】 2.3.1基于zookeeper的实践 2.3.2基于开源产品的搭建 |
3微服务系统定位分析工具 |
3.1通用问题分析定位 3.2分布式请求链跟踪系统; 3.2.1调用链原理论文 3.2.2调用链实践 3.2.3通用日志组件 3.2.4整体架构 3.2.5应用场景与效果 3.3微服务常见问题分析 3.3.1序列化异常 3.3.2网络不可用异常 3.3.3服务发现异常 |
4服务安全建设 |
4.1通用安全策略 4.2API安全建设 4.3数据安全建设 4.4服务网关建设 4.5实践:快速搭建服务网关层【需编码实践1小时】 |
阶段3:主题:聚焦业务进化&微服务架构管理自动化( 2天) 业务/组织/系统结构进化 |
1.1起步阶段(效率) 1.1.1敏捷开发 1.1.2开发运维,缺陷容忍 1.2快速发展阶段(规模) 1.2.1垂直架构 1.2.2统一基础服务架构 1.2.3动态分配资源 1.2.4PM细分,大PM/细PM 1.2.5架构师细分,形成独立的团队 1.2.6关键分离,自动编译,持续集成 1.3稳定阶段 1.3.1中台架构 1.3.2业务线架构 1.3.3平台化,组件化,平台定期重构 1.3.4统一变化入口,流程化 1.3.5研发模式差异化 1.3.6职能部门工具打通,进一步自动化,解放生产 |
2生产过程自动化(Devops工具平台) |
2.1持续发布平台 2.2配置&版本管理工具 2.3自动化测试平台 2.4持续集成平台 2.5自动化部署平台 2.6Docker容器 |
3线上问题发现管理自动化(服务可管理) |
3.1服务管理流程 3.2服务数据治理 3.3服务状态治理 3.4统一日志平台 3.5问题分析全量工具化 |
4通用难点问题解决方案 |
4.1分布式事务 4.2配置发布自动化 4.3消息队列 4.4难点问题沟通解答 |
阶段1:主题:微服务初识&最简模式微服务快速落地( 2天) 1微服务架构原理与总体架构 1.1系统架构演进之路 1.2微服务总体介绍 1.3微服务架构优势 1.4微服务最小架构技术栈及原理 |
2微服务技术栈与实践 2.1技术栈推荐 2.2技术栈讲解 2.3实践最小微服务(需现场编码demo 1h) 2.4实践改造现有系统完成2个模块服务化目标【需提前准备好项目与模块】(需现场编码1h) |
3微服务设计 3.1微服务架构落地 3.1.1微服务设计思想 3.1.2微服务设计原则 3.1.3微服务服务层如何平滑切换 3.1.4架构设计模式 3.1.5服务粒度设计 3.1.6服务开发技术选型 3.1.7服务如何分层 3.1.8先进行服务改进 3.2微服务存储层设计 3.2.1关系数据库 3.2.1.1百亿数据百亿访问量的服务设计实践 3.2.1.1.1数据层设计 3.2.1.1.2缓存层设计 3.2.1.1.3服务平滑切换过程 3.2.1.1.4回滚方案保证 3.2.2id生成服务设计 3.2.3Memcache&redis 3.2.3.1互联网使用缓存类型有哪些 3.2.3.2分布式缓存冗余如何设计? 3.2.3.3高可用架构缓存一致性如何保证? 3.2.3.4静态一致性Hash、动态一致性Hash等 3.2.3.5高可用架构缓存高性能如何保证? 3.2.4大容量存储 3.2.4.1hbase 3.2.4.2图片存储 |
4微服务设计与实践 4.1互联网大型网站微服务介绍 4.1.1分类信息网站架构介绍 4.1.2电商类网站架构介绍 4.1.3实践:我们的架构设计【分组讨论画出我们的微服务架构1h】 4.1.3.1服务分层 4.1.3.2核心服务 4.1.3.3数据服务 4.1.3.4更多服务 |
阶段2:主题:微服务架构基础设施进阶,夯实架构基础保障稳定运行( 2天) 1微服务架构稳定性保障 1.1全站高可用性设计 1.1.1入口层高可用设计 1.1.2web层高可用设计 1.1.3服务层高可用设计 1.1.4存储层高可用设计 1.2监控平台 1.1.1接口监控 1.1.2关键字监控 1.1.3数据监控 1.1.4业务监控 1.2柔性可用设计 1.2.1服务层柔性可用 1.2.2缓存层柔性可用 1.2.3存储层柔性可用 1.3服务容量规划&设计 1.3.1消息队列 1.3.2容量提升方案 |
2服务注册&发现 2.1服务注册发现理论 2.2服务注册发现案例 2.3服务注册发现实践【编码实践1h】 2.3.1基于zookeeper的实践 2.3.2基于开源产品的搭建 |
3微服务系统定位分析工具 3.1通用问题分析定位 3.2分布式请求链跟踪系统; 3.2.1调用链原理论文 3.2.2调用链实践 3.2.3通用日志组件 3.2.4整体架构 3.2.5应用场景与效果 3.3微服务常见问题分析 3.3.1序列化异常 3.3.2网络不可用异常 3.3.3服务发现异常 |
4服务安全建设 4.1通用安全策略 4.2API安全建设 4.3数据安全建设 4.4服务网关建设 4.5实践:快速搭建服务网关层【需编码实践1小时】 |
阶段3:主题:聚焦业务进化&微服务架构管理自动化( 2天) 业务/组织/系统结构进化 1.1起步阶段(效率) 1.1.1敏捷开发 1.1.2开发运维,缺陷容忍 1.2快速发展阶段(规模) 1.2.1垂直架构 1.2.2统一基础服务架构 1.2.3动态分配资源 1.2.4PM细分,大PM/细PM 1.2.5架构师细分,形成独立的团队 1.2.6关键分离,自动编译,持续集成 1.3稳定阶段 1.3.1中台架构 1.3.2业务线架构 1.3.3平台化,组件化,平台定期重构 1.3.4统一变化入口,流程化 1.3.5研发模式差异化 1.3.6职能部门工具打通,进一步自动化,解放生产 |
2生产过程自动化(Devops工具平台) 2.1持续发布平台 2.2配置&版本管理工具 2.3自动化测试平台 2.4持续集成平台 2.5自动化部署平台 2.6Docker容器 |
3线上问题发现管理自动化(服务可管理) 3.1服务管理流程 3.2服务数据治理 3.3服务状态治理 3.4统一日志平台 3.5问题分析全量工具化 |
4通用难点问题解决方案 4.1分布式事务 4.2配置发布自动化 4.3消息队列 4.4难点问题沟通解答 |