Spring Cloud微服务架构实战
Ink Zhou 查看讲师
百林哲咨询(北京)有限公司专家团队成员
现就职于一家大型互联网公司,8年软件系统开发经验,对Spring Cloud、微服务、持续集成、持续交付、容器生态圈常用组件均有涉猎。
浏览:4345次
详情 DETAILS

课程简介

学习本课程,学员将会对微服务、Spring Cloud有一个系统、全面的认识。通过学习,学员将能掌握相关的知识体系,并能够投入到项目实战中去。

本课程采用实战优先的原则,讲解如何从0开始编写基于Spring Boot/Cloud开发的微服务,并逐步解决项目中的问题,最终实现一个高可用的微服务架构。

本课程使用目前最新的Spring Cloud Hoxton SR8讲解,各种新特性一览无余!

需要安装:

1.JDK 1.8

2.Maven

3.IntelliJ IDEA(或Spring Tool Suite,不建议原生Eclipse)

课程收益

1.使学员理解微服务是什么、有什么好处、设计原则、拆分原则

2.深入理解Spring Cloud核心组件及相关扩展钩子,能够使用Spring Cloud开发微服务,并具备二次开发Spring Cloud的能力

受众人群

1.对微服务感兴趣的技术人员

2.对Spring Boot感兴趣的技术人员

3.对Spring Cloud感兴趣的技术人员

课程时长

3天(18H)
分享提纲

方向

内容安排

时长

微服务架构及概述

l 架构的演进史

l 微服务诞生背景

l 微服务架构的优点与挑战

l 微服务拆分方法论(DDD/by name./by verb.等多种方法)

l 评估拆分是否合理的标准

l 如何将遗留项目改造成微服务?

1.5

Spring Boot必知必会

l 什么是Spring Boot

l 使用Spring Initialzr快速创建应用

l 强大的Spring Boot Actuator

l Spring Boot 配置管理

1

方向

内容安排


Spring Cloud是什么

l Spring Cloud简介、核心功能、特点

l Spring Cloud版本简介及与Spring Boot的兼容性

l Spring Cloud子项目与提供的能力

l 服务提供者与服务消费者

0.5

服务注册与服务发现-Eureka

l 服务注册与服务发现原理剖析

l 服务发现组件对比与选择

l Eureka简介与架构剖析

l 编写Eureka Server

l 高可用Eureka

l 元数据

l RESTful API

l 自我保护模式

l 指定网卡

l 健康检查

l 【案例】我们做了哪些扩展

l 【案例】如何基于Eureka Client实现异构预研/新老平台的整合

1.5

服务注册与服务发现-Nacos

l 服务注册与服务发现作用与原理剖析

l Nacos搭建与使用

l 将应用注册到Nacos

l Nacos核心概念

l Nacos领域模型

l Nacos元数据

l 搭建Nacos Server高可用集群

l 【案例】我们做了哪些扩展

1.5

方向

内容安排


客户端侧负载均衡-Ribbon

l 负载均衡原理剖析

l 负载均衡器对比与选择

l Ribbon简介

l Ribbon核心组件详解

l 原生Ribbon API

l 引入Ribbon后的架构演进

l 编写第一个Ribbon Client

l Ribbon配置自定义

l 扩展Ribbon

l Eager Load

1

客户端侧负载均衡-Spring Cloud LoadBalancer

l Spring Cloud LoadBalancer是什么

l Spring Cloud LoadBalancer上手

l Spring Cloud LoadBalancer API

l 扩展Spring Cloud LoadBalancer

1

声明式的HTTP客户端-Feign

l Feign简介

l 编写第一个Feign Client

l Feign核心组件详解

l Feign配置自定义与最佳实践总结

l 继承特性与最佳实践总结

l 压缩

l 日志

l 构造多参数请求

1

方向

内容安排


高并发容错-Hystrix

l 雪崩效应是什么?有哪些思路?

l 常见容错思路与方案

l 业界常用容错组件对比与选择

l Hystrix简介

l Hystrix入门

l Hystrix配置详解

l Feign使用Hystrix

l 使用FallbackFactory检查回退原因

l Feign启用/禁用Hystrix

l Hystrix监控

l Hystrix Dashboard可视化监控数据

l Turbine简介

l 编写Turbine Server

l 消息中间件模式

l 坑:【Dashboard上没有数据怎么办?Turbine版本与坑】

l 坑:ThreadLocal无法传递与隔离策略详解

l 【案例】Hystrix配置那么多,我们是怎么配置的?

2

高并发容错-Sentinel

l Sentinel是什么

l 使用Sentinel实现容错

l Sentinel Dashboard

l 流控规则

l 降级规则

l 热点规则

l 系统规则

l 授权规则

l 代码配置规则

l Sentinel API

l SentinelResource注解详解

l RestTemplate整合Sentinel

l Feign整合Sentinel

l 规则持久化

l 集群流控

2

API Gateway-Zuul

l API网关简介

l API网关对比与选择

l 编写Zuul

l Zuul监控与调试端点

l 路由配置详解

l 文件上传

l 过滤器详解

l 容错与回退

l 高可用Zuul

l 整合异构平台-Sidecar

l Debug Zuul

l 扩展Zuul

l 坑的总结:【转发不正常怎么定位?安全如何管理】

l 【案例】Zuul实现认证与授权

l 【案例】Zuul实现限流与降级

1

API Gateway-Spring Cloud Gateway

l Spring Cloud Gateway是什么?

l Spring Cloud Gateway上手

l Spring Cloud Gateway核心概念

l Spring Cloud Gateway架构剖析

l 路由谓词工厂详解

l 过滤器工厂详解

l 全局过滤器详解

l 扩展Spring Cloud Gateway

1

配置中心-SpringCloud Config

 

l 为什么要使用配置中心

l 配置中心对比与选择

l Spring Cloud Config简介

l 编写ConfigServer

l 集成ConfigClient

l Git仓库配置详解

l 配置属性加解密

l 配置手动刷新

l 自动刷新-SpringCloud Bus

l Config Server与Eureka配合使用

l 安全

l 高可用

l 坑的总结【高可用搭建那么难怎么办?配置管理没有界面怎么办?】

l 【案例】我们实际项目是怎么用的、配置管理的最佳实践总结

2

配置中心-Nacos

l 为什么要使用配置中心

l 使用Nacos管理配置

l 如何实现配置回滚与配置刷新

l 引导上下文

l 如何实现应用配置共享

l Nacos数据持久化

l 配置管理最佳实践

l Nacos配置管理剖析

1

分布式事务-Seata

l Seata是什么

l 整合Seata

l AT模式实现事务

l TCC模式实现事务

l Saga模式实现事务

1

调用链监控-Spring Cloud Sleuth

l 调用链跟踪的必要性

l 调用链跟踪原理剖析

l Sleuth是什么

l 核心概念

l 入门示例:整合Sleuth

l Sleuth配合ELK

l Zipkin简介

l Zipkin Server编写

l Zipkin UI

l 微服务整合Zipkin

l 消息中间件模式整合Zipkin

l 使用Elasticsearch作为Zipkin Server的后端存储

l 生成依赖关系图

1

微服务安全

l 微服务安全常用方案对比与选择

l 无状态VS有状态

l 处处安全方案

l 外部无状态,内部有状态方案

l 内部裸奔方案

l 裸奔方案增强版

l 我司方案

l 基于Zuul实现微服务安全

l 基于Spring Cloud Gateway实现微服务安全

1.5

最佳实践总结

l Spring Cloud最佳实践总结

l 性能优化的思路与实践总结

l 坑的总结(如何避免常见问题)

l 解决问题的思路总结

l 生产可用的快速开发平台

l 与遗留技术栈的共存、割接方案

1



企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1