Spring Boot与Kubernetes云原生微服务实践 / 全面掌握云原生应用的架构设计与实现
杨波
前携程/拍拍贷技术总监,微服务技术专家
 
  • 课程目录
  • 课程介绍
  • 01 | 课程介绍

  • 02 | 背景说明

  • 03 | 课程目标和主要内容

  • 04 | 课程案例需求

  • 05 | 课程补充说明

  • 06 | 为何采用微服务架构?

  • 07 | 架构设计和技术栈选型

  • 08 | 数据和接口模型设计:账户服务

  • 09 | 数据和接口模型设计:业务服务

  • 10 | Dubbo、Spring Cloud和Kubernetes该如何选型(上)

  • 11 | Dubbo、Spring Cloud和Kubernetes该如何选型(中)

  • 12 | Dubbo、Spring Cloud和Kubernetes该如何选型(下)

  • 13 | 技术中台到底讲什么?

  • 14 | Staffjoy项目结构组织

  • 15 | 谷歌为何采用单体仓库(Mono-Repo)?

  • 16 | 微服务接口参数校验为何重要?

  • 17 | 如何实现统一异常处理?

  • 18 | DTO和DMO为什么要互转?

  • 19 | 如何实现基于Feign的强类型接口?

  • 20 | 为什么框架层就要考虑分环境配置?

  • 21 | 异步处理为何要复制线程上下文信息?

  • 22 | 为你的接口添加Swagger文档

  • 23 | 主流微服务框架概览

  • 24 | 网关和BFF是如何演化出来的(上)

  • 25 | 网关和BFF是如何演化出来的(下)

  • 26 | 网关和反向代理是什么关系?

  • 27 | 网关需要分集群部署吗?

  • 28 | 如何设计一个最简网关?

  • 29 | Faraday网关代码解析(上)

  • 30 | Faraday网关代码解析(下)

  • 31 | 生产级网关需要考虑哪些环节?

  • 32 | 主流开源网关概览

  • 33 | 安全认证架构演进:单块阶段(上)

  • 34 | 安全认证架构演进:单块阶段(下)

  • 35 | 安全认证架构演进:微服务阶段

  • 36 | 基于JWT令牌的安全认证架构

  • 37 | JWT的原理是什么?

  • 38 | JWT有哪两种主要流程?

  • 39 | Staffjoy安全认证架构和SSO

  • 40 | 用户认证代码剖析

  • 41 | 服务调用鉴权代码剖析

  • 42 | 如何设计用户角色鉴权?

  • 43 | Spring Boot微服务测试该如何分类?

  • 44 | 什么是契约驱动测试?

  • 45 | 什么是测试金字塔?

  • 46 | 单元测试案例分析

  • 47 | 集成测试案例分析

  • 48 | 组件测试案例分析

  • 49 | Mock vs Spy

  • 50 | 何谓生产就绪(Production Ready)?

  • 51 | Spring Boot如何实现分环境配置

  • 52 | Apollo vs SpringCloudConfig vs K8s ConfigMap

  • 53 | CAT vs Zipkin vs Skywalking(上)

  • 54 | CAT vs Zipkin vs Skywalking(下)

  • 55 | 结构化日志和业务审计日志

  • 56 | 集中异常监控和Sentry

  • 57 | EFK & Prometheus & Skywalking + Kubernetes 集成架构

  • 58 | 本地开发部署架构和软件需求

  • 59 | 手工服务部署和测试(上)

  • 60 | 手工服务部署和测试(中)

  • 61 | 手工服务部署和测试(下)

  • 62 | SkyWalking调用链监控实验

  • 63 | Docker和Docker Compose简介

  • 64 | 容器镜像构建Dockerfile解析

  • 65 | Docker Compose服务部署文件剖析

  • 66 | 将Staffjoy部署到本地Docker Compose环境(上)

  • 67 | 将Staffjoy部署到本地Docker Compose环境(下)

  • 68 | 到底什么是云原生架构?

  • 69 | Kubernetes背景和架构

  • 70 | Kubernetes有哪些基本概念(上)

  • 71 | Kubernetes有哪些基本概念(下)

  • 72 | 理解Kubernetes节点网络和Pod网络

  • 73 | 深入理解Service和ServiceDiscovery

  • 74 | NodePort vs LoadBalancer vs Ingress

  • 75 | 本地测试Kubernetes部署文件剖析

  • 76 | 本地测试Kubernetes环境搭建

  • 77 | 将Staffjoy部署到本地Kubernetes环境(上)

  • 78 | 将Staffjoy部署到本地Kubernetes环境(下)

  • 79 | 生产环境Kubernetes部署文件剖析

  • 80 | 阿里云Kubernetes环境创建

  • 81 | 将Staffjoy部署到阿里云Kubernetes环境

  • 82 | Kubernetes应用动态配置实验

  • 83 | Kubernetes应用金丝雀发布实验

  • 84 | 阿里云资源释放

  • 85 | 课程复盘

  • 86 | 项目扩展和应用

  • 87 | Account服务

  • 88 | Company服务

  • 89 | Mail、SMS和Bot服务

  • 90 | Faraday服务

  • 91 | WhoAmI服务

  • 92 | WWW服务

  • 93 | 前端应用

  • 94 | 结束语

课程背景

微服务和云原生架构是目前互联网行业的技术热点,相关资料很多,但是由于缺乏端到端的贴近生产的案例,这就使得很多技术人员,尤其是架构师,虽然学习了很多微服务理论和技术工具,但还是不知道该如何设计并实现一款生产级的微服务应用。

在这门课程中,杨波老师通过改造一个叫 Staffjoy 的开源项目,开发了一个教学版的案例项目,这个项目采用微服务架构,并且可以一键部署到 Kubernetes 容器云环境。

整个课程涉及需求分析、架构设计、框架搭建、服务实现、测试、可运维架构和容器云部署等全研发流程环节,其中也会穿插介绍微服务和云原生架构的原理、Java/Spring 编程技术、SaaS 应用多租户架构设计方法以及各种工具。

学完之后,你不仅能够深入理解微服务和云原生架构原理,同时能够开发出生产级的云原生微服务应用。

特别说明

这门课程与杨波老师之前的《微服务架构实战160讲》的主要区别在于:《微服务架构实战160讲》更侧重于横向的微服务基础平台的搭建,对八大微服务核心组件进行了深度剖析,重点在基础设施层。而这门课的主要内容是纵向的端到端的云原生微服务应用的架构设计与实现,重点放在了应用层。

讲师简介

杨波,资深架构师,微服务技术专家。曾在拍拍贷担任基础架构研发总监,主导了拍拍贷的微服务升级改造,同时投入了很大资源进行容器云平台的研发,推动云原生技术在拍拍贷的试点和落地。

2012~2015年,在携程担任框架研发总监,主导微服务核心中间件的研发和 SOA 体系建设,推动了携程微服务架构的升级改造。

更早之前,曾在 eBay 中国研发中心作为核心开发人员参与 eBay 开放 API 平台的研发工作。

杨波老师具有丰富的一线实战经验,多次在 InfoQ 发表技术文章,并在大型技术会议上进行分享,受到广泛好评。

课程收获

开发层面:

  1. 掌握微服务架构和前后端分离架构设计
  2. 能够基于Spring Boot 搭建微服务基础框架
  3. 进一步提升 Java/Spring 微服务开发技能
  4. 掌握 Spring Boot 微服务测试和相关实践
  5. 理解 SaaS 多租户应用的架构和设计

运维层面:

  1. 理解可运维架构理念和相关实践
  2. 掌握服务容器化和容器云部署相关实践
  3. 理解云时代的软件工程流程和实践

限时福利

  1. 订阅后分享专属海报,邀请好友订阅有奖励。
  2. 添加社群管理员,进入技术交流 & 福利群。 3.戳此申请学生认证,订阅课程一律 5 折。

如何在电脑端观看视频

  1. 用浏览器访问 https://time.geekbang.org ,登录极客时间账号;
  2. 然后在“讲堂”板块选择“视频课程”标签,点击相应的视频课程即可观看。