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

简介

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

本课程采用实战优先的原则,讲解如何从0开始编写基于Spring Boot/Cloud开发的微服务,并逐步解决项目中的问题,最终实现一个高可用的微服务架构;随后,讲解如何将应用容器化、如何实现资源的合理分配、并将应用部署到Kubernetes平台。

本课程使用目前最新的Spring Cloud Edgware SR3进行讲解,各种新特性一览无余!如时间富余,还将介绍Spring Boot 2.0以及Spring Cloud Finchley,让大家了解Spring Cloud的发展趋势及未来的新特性!

需要安装:

JDK1.8

Maven

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

目标

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

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

课程时长

2天(12H)

受众人群

对Spring Boot感兴趣的Java开发人员

对Spring Cloud感兴趣的Java开发人员

对微服务感兴趣的架构师

了解Java,否则动手实战会有一些困难

了解分布式应用,或对分布式架构感兴趣

熟悉Maven

分享提纲

方向内容安排讲解案例练习安排
微服务架构及概述

架构的演进史

微服务诞生背景

微服务架构的优点与挑战



Spring Boot概述

Spring Boot简介、诞生背景、特点

使用SpringInitialzr快速创建应用

编写第一个SpringBoot应用

Spring Boot配置方式、profile、健康检查


手把手编写Spring Boot应用
Spring Boot进阶

Spring Boot整合Spring Data JPA

Spring Boot整合Mybatis

Spring Boot整合ELK

Spring Boot可视化监控



Spring Cloud概述

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

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

Spring Cloud子项目与提供的能力

服务提供者与服务消费者


编写一个分布式的应用,包含2个微服务
服务注册与服务发现-Eureka

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

Eureka简介与架构剖析

编写Eureka Server

高可用Eureka

用户认证

元数据【重要的扩展钩子】

RESTful API【重要的能力钩子】

自我保护模式【重要特性】

指定网卡

健康检查【作用、存在的坑以及总结】


将前面的微服务注册到Eureka Server上
客户端侧负载均衡-Ribbon

负载均衡原理剖析

Ribbon简介

原生Ribbon API

引入Ribbon后的架构演进

编写第一个Ribbon Client

使用代码自定义Ribbon的配置

使用配置自定义Ribbon的配置

Eager Load


手写客户端侧负载均衡器
声明式的HTTP客户端-Feign

Feign简介

编写第一个Feign Client

使用代码自定义Feign的配置

使用配置自定义Feign的配置

继承特性

压缩

日志

构造多参数请求


使用Feign改造之前编写的微服务
断路器-Hystrix

浅谈雪崩效应及危害

如何容错

Hystrix简介

整合Hystrix

Hystrix配置详解

Feign使用Hystrix

使用FallbackFactory检查回退原因

Feign启用/禁用Hystrix

Hystrix监控

Hystrix Dashboard可视化监控数据

Turbine简介

编写Turbine Server

消息中间件模式


为之前编写的微服务整合Hystrix
API Gateway-Zuul

网关的必要性

简介

入门示例:编写一个API Gateway

/routes端点

路由配置详解

/filters端点

Zuul的安全与Header传递

文件上传

过滤器详解

容错与回退

高可用Zuul

整合异构平台-Sidecar

Debug Zuul


使用Zuul代理所有微服务

配置中心-SpringCloud Config

 

为什么要使用配置中心

Spring Cloud Config简介

编写ConfigServer

集成ConfigClient

Git仓库配置详解

配置属性加解密

配置手动刷新

自动刷新-SpringCloud Bus

Config ServerEureka配合使用

安全

高可用

业界常用的配置中心DisconfApolloDiamond等于Spring Cloud Config的对比与取舍;

Kubernetes ConfigMap/Secret与Spring Cloud Config的取舍

使用Config Server管理微服务配置
调用链监控-SpringCloud Sleuth

为什么要实现调用链跟踪

简介

基本概念

入门示例:整合Sleuth

Sleuth配合ELK

Zipkin简介

Zipkin Server编写

Zipkin UI

微服务整合Zipkin

消息中间件模式整合Zipkin

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

生成依赖关系图


为应用整合Sleuth,并使用Zipkin展示调用链
微服务安全

微服务安全的原则

Spring Cloud Security方案

Zuul上统一控制方案

Session共享方案

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

我司方案

注:着重讲解我司使用Keycloak(开源、易用)管理微服务安全。

Spring Cloud Security不打算细讲,有兴趣可以看我博客。

采用其中一种方案,为微服务实现安全管理
最佳实践总结

Spring Cloud最佳实践总结

性能优化

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

解决问题的思路总结

生产可用的快速开发平台

【看时间】与遗留技术栈的共存、割接方案


快速开发平台助力快速落地



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