课程介绍
目前业界最流行的微服务架构正在或者已被各种规模的互联网公司广泛接受和认可,业已成为互联网开发人员必备技术。无论是互联网、云计算还是大数据,Java平台已成为全栈的生态体系,其重要性几乎不可替代。本次分享内容将包括目前最流行技术,分为 Spring Boot、Spring Cloud、Spring Cloud Stream 等系列。
课程特点
本次分享致力于以实战的方式覆盖微服务整体解决方案 Spring Boot / Spring Cloud 的功能特性,更为重要的是,小马哥希望通过“授人以渔”的方式,不仅让小伙伴们能够认识到技术的衍进并非凭空遐想,而是在其特定的场景下“生根发芽”,并且结合自身十余年的学习方法和工作经验,将技术的发展脉络贯穿其中。循序渐进式地引导朋友们,站在哲学的高度,体会平台设计意图。同时,结合实现源码加深理解,最终达到形成系统性的知识和技术体系的目的。
课程目标
系统全面地了解和学习微服务架构的设计、云计算与大数据基础平台及原生云应用开发方法等
深入理解微服务架构概念、本质以及使用场景
使用 Spring Boot / Spring Cloud 搭建微服务应用
掌握一线互联网企业微服务实践经验
课程大纲
第一天上午 微服务基础实战
第一部分 微服务服务通讯
Spring Cloud 服务注册与发现:以 Eureka 为例
Spring Cloud 分布式配置:以 Spring Cloud Git 实现为例
Spring Cloud 服务调用:Spring Cloud Open Feign 、Spring Cloud @LoadBalanced RestTemplate 整合 Spring Cloud Netflix Ribbon
第二部分 微服务消息通讯
Spring Cloud Stream 架构:从 Spring Integration 到 Spring Cloud Stream 的变迁
Spring Cloud Stream 实战:介绍 Spring Cloud Stream 官方 Kafka 实现,理解 Spring Cloud 在消息处理中的抽象
Spring Cloud Bus 实战:从 Spring Local Event 到 Remote Event 的蜕变,以及与 Spring Cloud Stream 之间的关系
第一天下午 微服务高阶实战
第一部分 微服务数据操作
Spring 缓存:理解 Spring Cache 以及标准 Java Cache 架构和设计
Spring 异步/非阻塞:介绍 Spring 异步操作、消息服务(如 Kafka)、以及 Reactive 实现
分布式事务:介绍传统的分布式事务解决方案,包括多阶段提交、TCC 以及阿里最新开源 Seata 的设计与运用
第二部分 微服务高可用设计
Spring Cloud 服务注册与发现:介绍以 Eureka 为注册中心的高可用技术方案,并且简要说明其设计的不足
Spring Cloud 服务限流/熔断:通过对比的方式介绍 Netflix Hystrix、Alibaba Sentinel 的设计差异,同时,进一步理解两者的使用场景以及设计时的注意事项
Spring Cloud 网关服务:对比式介绍 Spring Cloud Netflix Zuul 以及 Spring Cloud Gateway 的设计差异,并且重点论述在使用时可能存在的风险点
第二天上午 微服务运维实战
第一部分 微服务服务跟踪
Spring Cloud Sleuth:简介 Spring Cloud Sleuth 的原理和组成
Zipkin 整合:Spring Cloud Sleuth 整合 Open Zipkin
竞类产品:Skywallking、Pinpoint、CAT 在微服务中的运用
第二部分 微服务日志跟踪
Java 日志系统:介绍 Spring Boot 与 Java 日志框架中的抽象
Spring Cloud 日志扩展: Spring Cloud 动态调整 Java 日志级别以及扩展点
日志平台:介绍 Spring Cloud 与 ELK 整合,实现分布式日志聚合平台
第二天下午 微服务云原生实战
第一部分 Pivotal Cloud Foundry
云原生应用的利弊:通过对比传统的应用运维模式,理解云原生应用中存在利弊
应用部署:Spring Cloud 应用如何在 PCF 环境下部署,以及介绍灰度发布、蓝绿发布等基本模式以及注意实现
应用运维:介绍 PFC 运维 Spring Cloud 应用
第二部分 微服务深度交流
Spring Cloud 设计优势和不足
后 Spring Cloud Netflix 时代
自由互动交流