微服务架构技能


(StuQ 微服务技能图谱)

2课程简介

本课程分为基础篇和高级篇两部分,旨在通过完整的案例,呈现微服务的开发、测试、构建、部署、运维等实践,帮助学员了解微服务的核心、以及实施过程中的挑战与应对方案。

基础篇将使用Spring Boot、Spring Cloud以及Docker,构建基于微服务架构的活动报名系统。同时,使用Netflix OSS构建服务的支持组件,包括集中化配置中心、服务注册与发现、API网关、容错处理等支撑性服务组件。

高级篇将关注微服务的测试,服务安全、异步任务系统、日志聚合、监控告警以及持续交付流水线等高级话题,为微服务规模化实施提供指导意见。

3适用人群

  • 有1年以上的Java编程经验

  • 熟悉Spring框架

  • 了解Gradle构建工具

  • 了解持续集成实践

  • 对微服务架构实践感兴趣

4教学目标

通过本课程,您不仅能了解微服务架构的本质,也将学习到如何使用Spring Boot、Spring Cloud 构建微服务系统(包括REST/HAL、服务注册、服务发现、容错处理、API网关、中心化配置以及服务的安全处理等);同时,也将学习如何建立完整的微服务生态体系,包括持续交付流水线、部署、运维、监控以及告警等机制。

基础篇目标

  • 学习掌握微服务架构的概念与本质

  • 使用Spring boot/Spring Cloud 构建活动报名系统

  • 使用Netflix OSS构建微服务支撑组件(服务注册发现、集中化配置中心、API网关、容错处理)

  • 使用Docker发布服务

  • 使用Docker-Compose在开发环境中运行多个服务

高级篇目标

  • 学习掌握微服务的测试策略与PACT测试

  • 学习掌握微服务的安全机制与OAuth2.0实现

  • 学习掌握微服务间的异步通信机制

  • 学习了解微服务的监控与告警

  • 学习掌握微服务架构的日志聚合

  • 构建微服务的持续交付流水线

5课程内容

基础篇课程大纲

微服务架构从 0 到 1

  • 微服务架构介绍

  • 微服务架构的本质与优势

  • 微服务与SOA

  • 微服务的设计原则

基于微服务构建活动报名系统

  • 需求理解与分析

  • 技术选型(Java/Spring Boot/Spring loud/REST/HAL/MongoDB)

  • 服务定义与划分

  • 服务支撑组件介绍(服务注册,集中化配置,断路器,服务网关)

  • 思考/练习

Spring Boot 应用实践

  • Spring Boot 介绍

  • Spring Boot的核心功能

  • Spring Boot Demo

  • 练习

Spring Cloud 应用实践

  • Spring Cloud 介绍

  • Spring Cloud的核心功能

  • Spring Cloud Demo

  • 练习

REST/HAL 应用实践

  • REST 介绍

  • HAL 介绍

  • 为什么使用HAL

  • HAL Browser 实践

Docker 应用实践

  • Docker介绍

  • Docker的常用命令

  • 构建Dockerfile

  • 使用Docker-compose

构建第一个微服务

  • 使用Spring-Data-REST实现Event-Service服务

  • 使用HAL完成服务间同步通信

  • 使用HAL-Browser浏览服务接口

  • 使用MongoDB存储数据

  • 使用Docker-compose运行服务

  • 构建Dockerfile

  • 练习

微服务的集中化配置(centralized-config)

  • 为什么要集中化配置

  • 集中化配置的实现原理与方式

  • 使用Spring Cloud Config 实现集中化配置

  • 使用Spring Cloud Bus与RabbitMQ同步多服务配置

  • Spring Cloud Config Demo

  • 练习

微服务的注册与发现(service-discovery)

  • 为什么要服务注册与发现

  • 服务注册与服务发现的实现方式

  • 使用Netflix Eureka/Spring Cloud实现服务注册与发现

  • 使用Netflix Ribbon/Spring Cloud实现客户端负载均衡

  • 使用Netflix Feign/Spring Cloud实现申明式REST调用

  • 练习

微服务的容错处理(circurt-breaker)

  • 微服务下的可用性与故障蔓延(Failure Cascading)

  • 断路器模式的原理与实现

  • 使用Netflix Hystrix/Spring Cloud实现容错

  • 使用Netflix Turbie实现监控聚合

  • 练习

构建微服务网关

  • 为什么需要微服务网关

  • 微服务网关的实现方案

  • 使用Netflix Zuul实现微服务网关

  • 练习

微服务架构与实践总结

  • 微服务的发布与部署

  • 基于微服务的活动报名系统

  • 练习

高级篇课程大纲

微服务的测试

  • 测试金字塔

  • 测试策略与实现

  • 集成测试与契约测试

  • 基于消费者驱动的契约测试PACT

  • 使用JVM-PACT构建契约测试

  • 练习

微服务的安全

  • 微服务下安全的实现方式

  • 使用HTTPS加密传输内容

  • OAuth2.0综述

  • 使用Spring Cloud Security实现活动报名

  • 练习

微服务间的通信

  • 服务间的同步通信

  • 服务间的异步通信

  • 使用Jesque完成报名后的通知

  • 在活动报名系统中整合Jesque

  • 练习

微服务的监控与告警

  • 服务的监控与告警综述

  • 微服务监控与告警常用方案

  • 使用Prometheus实现服务监控

  • 在活动报名系统中整合Prometheus

  • 服务告警

  • 练习

微服务的日志聚合

  • 为什么要日志聚合

  • 日志聚合的常用技术方案

  • 使用ETL实现服务的日志聚合与管理

  • 使用Docker-compose运行ELK

  • 在活动报名系统中整合ELK

  • 练习

构建微服务的持续交付流水线

  • 持续集成

  • 持续交付

  • Jenkins2.0介绍

  • 构建持续交付流水线

  • 练习

微服务的依赖管理

  • 可视化服务依赖图

  • 练习

微服务架构与实践总结

  • 基于微服务的活动报名系统

  • 微服务架构总结

     

    http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650994360&idx=3&sn=d11399313a76e3367453e6e24982972d&chksm=bdbf0eeb8ac887fd031b55a2a407345a9a79fe1cc9366751fcf91ffb77ecc77b7e23300bfd8c&mpshare=1&scene=1&srcid=1011ve1uUq6YNm4WGL19oRPR#rd

猜你喜欢

转载自m635674608.iteye.com/blog/2329666