课程简介
微服务是目前最新的程序开发架构,本课程通过一个网站的例子介绍如何进行微服务架构设计,以及微服务架构中常用的构架工具和管理工具
目标收益
微服务介绍
如何建模微服务
微服务集成
分解单块系统
如何部署微服务
如何测试微服务
如何监控微服务
如何规模化微服务
微服务总结
培训对象
基本开发架构常识
课程大纲
微服务介绍 |
• 什么是微服务 • 微服务的主要好处 • 如何设计面向服务的架构 |
如何建模微服务 |
• 什么样的服务是好服务 • 微服务业务功能 |
微服务集成 |
• 寻找理想的集成技术 • 如何为用户创建接口 • 如何共享数据库 • 如何同步与异步 • 如何编排与协同 • 如何远程过程调用 • 如何进行技术的耦合 • 与 REST 服务的整合问题 • 如何实现基于事件的异步协作方式 • 如何进行服务即状态机设计 • 如何响应式扩展 • 如何进行版本管理 • 如何设计用户界面 • 如何与第三方软件集成 |
分解单块系统 |
• 如何设计关键接缝 • 分解单块系统的原因 • 如何解决杂乱的依赖 • 如何进行与数据库 • 如何重构数据库 • 如何处理事务边界 |
如何部署微服务 |
• 持续集成简介 • 把持续集成映射到微服务 • 构建流水线和持续交付 • 平台特定的构建物 • 操作系统构建物 • 定制化镜像 • 环境的安装与调试 • 如何进行服务配置 • 服务与主机之间的映射 • 如何进行自动化部署 • 如何从物理机到虚拟机 |
微服务测试 |
• 测试类型 • 测试范围 • 实现服务测试 • 谁来写这些测试 |
使用 Pact 进行测试 |
• 消费者测试介绍 • 如何使用 Pact 进行消费者测试 • 配置环境(基于.NET 的 PactNET) • 编写契约 • 设置 pact 服务 • 挂载请求 API • 通过 Pact 方法调用客户端 • 使用 Pact 挂载 JSON • 比对 JSON 结果是否正确 • 运行成功测试与失败测试 |
如何监控 |
• 如何监控单一服务,单一服务器 • 如何监控单一服务,多个服务器 • 如何监控多个服务,多个服务器 • 如何使用日志 • 多个服务的指标跟踪 • 服务指标 • 综合监控 • 关联标识 • 级联 • 微服务的安全 • 身份验证和授权 • 常见的单点登录实现 • 单点登录网关 • 细粒度的授权 • 服务间的身份验证和授权 • 静态数据的安全 • 使用微服务的实例 • 松耦合组织和紧耦合组织 • Windows Vista • Netflix 和 Amazon |
如何规模化微服务 |
• 功能降级 • 架构性安全措施 • 反脆弱的组织 • 微服务设计扩展 • 微服务扩展数据库 • 微服务缓存 • 微服务中 CAP 定理的平衡 • 自描述系统 |
微服务总结 |
• 微服务的原则 • 围绕业务概念建模 • 接受自动化文化 • 隐藏内部实现细节 • 让一切都去中心化 • 可独立部署 • 隔离失败 • 高度可观察 • 什么时候你不应该使用微服务 |
微服务介绍 • 什么是微服务 • 微服务的主要好处 • 如何设计面向服务的架构 |
如何建模微服务 • 什么样的服务是好服务 • 微服务业务功能 |
微服务集成 • 寻找理想的集成技术 • 如何为用户创建接口 • 如何共享数据库 • 如何同步与异步 • 如何编排与协同 • 如何远程过程调用 • 如何进行技术的耦合 • 与 REST 服务的整合问题 • 如何实现基于事件的异步协作方式 • 如何进行服务即状态机设计 • 如何响应式扩展 • 如何进行版本管理 • 如何设计用户界面 • 如何与第三方软件集成 |
分解单块系统 • 如何设计关键接缝 • 分解单块系统的原因 • 如何解决杂乱的依赖 • 如何进行与数据库 • 如何重构数据库 • 如何处理事务边界 |
如何部署微服务 • 持续集成简介 • 把持续集成映射到微服务 • 构建流水线和持续交付 • 平台特定的构建物 • 操作系统构建物 • 定制化镜像 • 环境的安装与调试 • 如何进行服务配置 • 服务与主机之间的映射 • 如何进行自动化部署 • 如何从物理机到虚拟机 |
微服务测试 • 测试类型 • 测试范围 • 实现服务测试 • 谁来写这些测试 |
使用 Pact 进行测试 • 消费者测试介绍 • 如何使用 Pact 进行消费者测试 • 配置环境(基于.NET 的 PactNET) • 编写契约 • 设置 pact 服务 • 挂载请求 API • 通过 Pact 方法调用客户端 • 使用 Pact 挂载 JSON • 比对 JSON 结果是否正确 • 运行成功测试与失败测试 |
如何监控 • 如何监控单一服务,单一服务器 • 如何监控单一服务,多个服务器 • 如何监控多个服务,多个服务器 • 如何使用日志 • 多个服务的指标跟踪 • 服务指标 • 综合监控 • 关联标识 • 级联 • 微服务的安全 • 身份验证和授权 • 常见的单点登录实现 • 单点登录网关 • 细粒度的授权 • 服务间的身份验证和授权 • 静态数据的安全 • 使用微服务的实例 • 松耦合组织和紧耦合组织 • Windows Vista • Netflix 和 Amazon |
如何规模化微服务 • 功能降级 • 架构性安全措施 • 反脆弱的组织 • 微服务设计扩展 • 微服务扩展数据库 • 微服务缓存 • 微服务中 CAP 定理的平衡 • 自描述系统 |
微服务总结 • 微服务的原则 • 围绕业务概念建模 • 接受自动化文化 • 隐藏内部实现细节 • 让一切都去中心化 • 可独立部署 • 隔离失败 • 高度可观察 • 什么时候你不应该使用微服务 |