微服务架构设计与实践|StuQ小班课 进行中
¥1356 (原价¥1696)

立即报名

课程介绍


基础篇

高级篇

完整学习该课程

技术应用背景

  • 微服务架构(Microservice Architecture)是近两年在软件架构领域里出现的一个新名词,虽然其诞生时间不长, 但在社区的火爆程度已经让很多人意识到它对未来软件领域所带来的影响。

  • 微服务架构提倡将单一应用程序划分成一组小的服务,每个服务运行在独立的进程中,服务间采用轻量级的通信机制互相协作(通常是基于HTTP协议的RESTful API),每个服务都围绕着具体业务进行构建,并且能被独立的开发、测试、构建、部署和交付。

  • Spring作为著名的J2EE框架,也发起了Spring Boot、Spring Cloud等子项目,为微服务的实现和落地提供工具支撑。同时,Netflix OSS开源工具的出现,为完善微服务的生态系统提供了有力的支持。

  • 客观来说,微服务架构涉及的知识广泛,学习曲线相对陡峭,程序员光靠自学摸索,通常需要耗费不少时间精力。

  • StuQ 特别邀请前 ThoughtWorks 首席咨询师,国内首本微服务中文书籍《微服务架构与实践》的作者王磊,共同推出《微服务架构与实践》精品小班教学,通过专门设计的练习与案例,快速掌握微服务相关的技能。

课程内容设置

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

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

  • 下半部分将关注微服务的测试,持续交付以及微服务与 DevOps 等高级话题,为微服务规模化实施提供指导意见。在微服务与 DevOps 的内容中,将使用 Rancher 实现微服务下自动化的部署、扩展以及相应的监控报警、日志分析,模拟生产环境,从而更好的传递微服务与 DevOps 的最佳实践

教学目标

  • 基础篇
    学习掌握微服务架构的概念与本质
    使用Spring boot/Spring Cloud 构建微服务系统
    使用Netflix OSS构建微服务支撑组件(服务注册发现、集中化配置中心、API网关、容错处理)
    使用Docker构建服务部署镜像
    使用Docker-Compose运行服务

  • 高级篇
    学习微服务的测试策略与PACT测试
    学习微服务的安全机制与OAuth2.0实现
    学习微服务的监控与告警
    学习微服务的日志聚合
    构建微服务的持续交付流水线
    微服务架构与实践总结

大咖导师


王磊,尚度元科技CTO,前ThoughtWorks首席咨询师,国内较早倡导和实践微服务的先行者,多次受邀在大型技术会议主题分享“微服务架构”相关主题,并著有国内首本微服务架构相关书籍《微服务架构与实践》一书和 StuQ 微服务技能图谱,同时在 InfoQ 以及《架构师》上发表多篇关于微服务架构相关文章。 超过10年以上的软件行业经验,从企业应用、互联网应用、服务化平台的架构设计、开发到自动化构建、持续 集成、持续交付以及DevOps的转型实施等有较丰富的实践经验。开源软件的贡献者、GDCR西安组织者,敏捷西安的组织者,并译有《Ruby Gems开发实战》一书。


马博文,ThoughtWorks 高级咨询师,DevOps。熟悉 Ruby/Java/Scala 开发,持续交付,数据中心以及 AWS 的自动化运维,微服务以及容器技术等。AWS Certified Associate Solution Architect/Developer,西安DevOps Meetup发起人,译有《Scala编程实战》、《DevOps实践》等书。

课程大纲

微服务架构与实践

  • 课程预演
    • 王磊,马博文

基础篇第1节:微服务架构综述

  • 什么是微服务架构
    • 第1课时
  • 微服务架构的本质与优势
    • 第1课时
  • 微服务与SOA
    • 第1课时
  • 微服务的设计原则
    • 第1课时

基础篇第2节:基于微服务构建活动报名系统

  • 需求理解与分析
    • 第1课时
  • 技术选型(Java/Spring Boot/Spring Cloud/HAL/MongoDB)
    • 第1课时
  • 服务定义与划分
    • 第1课时
  • 服务支撑组件介绍(服务注册,集中化配置,断路器,服务网关)
    • 第1课时

基础篇第3节:Spring Boot与Spring Cloud

  • Spring Boot从0到1
    • 第2课时
  • 什么是Spring Boot
    • 第2课时
  • Spring Boot的核心功能
    • 第2课时
  • Spring Boot Demo
    • 第2课时
  • 练习
    • 第2课时

基础篇第4节:Spring Cloud从0到1

  • Spring Cloud综述
    • 第2课时
  • Spring Cloud核心
    • 第2课时
  • Spring Cloud Demo(搭建服务注册中心)
    • 第2课时
  • 练习
    • 第2课时

基础篇第5节:构建第一个服务

  • REST/HAL简介
    • 第3课时
  • Docker简介
    • 第3课时

基础篇第6节:构建第一个微服务

  • 使用Spring-Data-REST实现Event-Service服务
    • 第3课时
  • 使用HAL完成服务间同步通信
    • 第3课时
  • 使用HAL-Browser浏览服务接口
    • 第3课时
  • 使用MongoDB存储数据
    • 第3课时
  • 构建Dockerfile
    • 第3课时
  • 使用Docker-compose运行服务
    • 第3课时
  • 练习
    • 第3课时

基础篇第7节:微服务的集中化配置(centralized-config)

  • 为什么要集中化配置
    • 第4课时
  • 集中化配置的实现原理与方式
    • 第4课时
  • 使用Spring Cloud Config 实现集中化配置
    • 第4课时
  • 使用Spring Cloud Bus与RabbitMQ同步多服务配置
    • 第4课时
  • Spring Cloud Config Demo
    • 第4课时
  • 练习
    • 第4课时

基础篇第8节:微服务的注册与发现(service-discovery)

  • 为什么要服务注册与发现
    • 第5课时
  • 服务注册与服务发现的实现方式
    • 第5课时
  • 使用Netflix Eureka/Spring Cloud实现服务注册与发现
    • 第5课时
  • 使用Netflix Ribbon/Spring Cloud实现客户端负载均衡
    • 第5课时
  • 使用Netflix Feign/Spring Cloud实现申明式REST调用
    • 第5课时
  • 练习
    • 第5课时

基础篇第9节:微服务的容错处理(circurt-breaker)

  • 微服务下的可用性与故障蔓延(Failure Cascading)
    • 第6课时
  • 断路器模式的原理与实现
    • 第6课时
  • 使用Netflix Hystrix/Spring Cloud实现容错
    • 第6课时
  • 用Netflix Turbie实现监控聚合
    • 第6课时
  • 练习
    • 第6课时

基础篇第10节:构建微服务网关

  • 为什么需要微服务网关
    • 第6课时
  • 微服务网关的实现方案
    • 第6课时
  • 使用Netflix Zuul实现微服务网关
    • 第6课时
  • 练习
    • 第6课时

基础篇第11节:微服务架构与实践总结

  • 微服务架构与实践总结
    • 第6课时

高级篇第1节:微服务的测试

  • 测试金字塔
    • 第1课时
  • 测试策略与实现
    • 第1课时
  • 集成测试与契约测试
    • 第1课时
  • 基于消费者驱动的契约测试PACT
    • 第1课时
  • 使用JVM-PACT构建契约测试
    • 第1课时

高级篇第2节:微服务的安全

  • 微服务下安全的实现方式
    • 第2课时
  • 使用HTTPS加密传输内容
    • 第2课时
  • OAuth2.0综述
    • 第2课时
  • 使用Spring Cloud Security实现活动报名
    • 第2课时

高级篇第3节:微服务与持续交付流水线

  • Jenkins 2.0介绍
    • 第3课时
  • 在Rancher上部署Jenkins服务
    • 第3课时
  • 搭建活动报名系统的持续交付流水线
    • 第3课时
  • 基于Rancher部署活动报名系统
    • 第3课时

高级篇第4节:微服务与DevOps (一) 监控与告警

  • 服务的监控与告警综述
    • 第4课时
  • 微服务监控与告警常用方案
    • 第4课时
  • 使用Prometheus实现服务监控
    • 第4课时
  • 在活动报名系统中整合Prometheus
    • 第4课时
  • 基于Rancher部署Prometheus
    • 第4课时

高级篇第5节:微服务与DevOps (二) 日志聚合

  • 日志聚合从0到1
    • 第5课时
  • 日志聚合的常用技术方案
    • 第5课时
  • 使用ETL实现服务的日志聚合与管理
    • 第5课时
  • 在活动报名系统中整合ELK
    • 第5课时
  • 基于Rancher部署ELK
    • 第5课时

高级篇第6节:微服务架构与实践总结

  • 基于微服务架构的活动报名系统回顾
    • 第6课时
  • 微服务架构与实践总结
    • 第6课时
  • 微服务架构技能图谱
    • 第6课时

课后收获

  • 系统的学习掌握微服务架构本质

  • 如何使用Spring Boot、Spring Cloud 构建微服务系统(包括REST/HAL、服务注册、服务发现、容错处理、API网关、中心化配置以及服务的安全处理等)

  • 如何建立完整的微服务生态体系,包括持续交付流水线,以及使用Docker发布服务和适用Rancher完成微服务下的自动化部署、运维、监控以及告警等机制。

适用人群

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

  • 熟悉Spring框架

  • 了解Gradle构建工具

  • 了解持续集成实践

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

联系我们

stuq img

报名

微服务架构设计与实践|StuQ小班课

¥1356 (原价¥1696)