Spring Boot与Kubernetes云原生微服务实践
共94课时
159
首单特价
立即购买¥98299
VIP专属
领域会员免费
课程收录到: 云原生工程师
首单特价
立即购买¥98299
VIP专属
领域会员免费
杨波
杨波,前携程/拍拍贷技术总监,微服务技术专家 杨波曾在拍拍贷担任基础架构研发总监,他主导了拍拍贷的微服务升级改造,同时投入了很大资源进行容器云平台的研发,推动了云原生技术在拍拍贷的试点和落地。 2012~2015年,杨波在携程担任框架研发总监,主导了微服务核心中间件的研发和 SOA 体系建设,推动了携程微服务架构的升级改造。 更早之前,他曾在 eBay 中国研发中心作为核心开发人员参与 eBay 开放 API 平台的研发工作。 杨波具有丰富的一线实战经验,多次在 InfoQ 发表技术文章,并在大型技术会议上进行分享,受到广泛好评。
课程概述
课程评价
互动留言

你将获得

开发层面:

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

运维层面:

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

课程介绍

「极客时间出品」

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

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

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

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

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

课程目录

课程目录
  • 01 | 课程介绍
    3分35秒   试读
  • 2
    02 | 背景说明
    9分11秒   试读
  • 3
    03 | 课程目标和主要内容
    10分16秒   试读
  • 4
    04 | 课程案例需求
    4分43秒  
  • 5
    05 | 课程补充说明
    7分47秒  
第二章:系统架构设计和技术栈选型
  • 1
    06 | 为何采用微服务架构?
    8分58秒  
  • 2
    07 | 架构设计和技术栈选型
    10分8秒  
  • 3
    08 | 数据和接口模型设计:账户服务
    2分55秒  
  • 4
    09 | 数据和接口模型设计:业务服务
    4分8秒  
  • 5
    10 | Dubbo、Spring Cloud和Kubernetes该如何选型(上)
    13分3秒  
  • 6
    11 | Dubbo、Spring Cloud和Kubernetes该如何选型(中)
    4分26秒  
  • 7
    12 | Dubbo、Spring Cloud和Kubernetes该如何选型(下)
    9分3秒  
  • 8
    13 | 技术中台到底讲什么?
    6分39秒  
第三章:服务开发框架设计和实现
  • 1
    14 | Staffjoy项目结构组织
    6分19秒  
  • 2
    15 | 谷歌为何采用单体仓库(Mono-Repo)?
    5分51秒  
  • 3
    16 | 微服务接口参数校验为何重要?
    4分19秒  
  • 4
    17 | 如何实现统一异常处理?
    7分31秒  
  • 5
    18 | DTO和DMO为什么要互转?
    4分40秒  
  • 6
    19 | 如何实现基于Feign的强类型接口?
    15分33秒  
  • 7
    20 | 为什么框架层就要考虑分环境配置?
    6分2秒  
  • 8
    21 | 异步处理为何要复制线程上下文信息?
    6分20秒  
  • 9
    22 | 为你的接口添加Swagger文档
    3分33秒  
  • 10
    23 | 主流微服务框架概览
    5分25秒  
第四章:可编程网关设计和实践
  • 1
    24 | 网关和BFF是如何演化出来的(上)
    10分37秒  
  • 2
    25 | 网关和BFF是如何演化出来的(下)
    8分8秒  
  • 3
    26 | 网关和反向代理是什么关系?
    4分23秒  
  • 4
    27 | 网关需要分集群部署吗?
    4分16秒  
  • 5
    28 | 如何设计一个最简网关?
    8分52秒  
  • 6
    29 | Faraday网关代码解析(上)
    8分32秒  
  • 7
    30 | Faraday网关代码解析(下)
    6分34秒  
  • 8
    31 | 生产级网关需要考虑哪些环节?
    7分23秒  
  • 9
    32 | 主流开源网关概览
    7分28秒  
第五章:安全框架设计和实践
  • 1
    33 | 安全认证架构演进:单块阶段(上)
    8分6秒  
  • 2
    34 | 安全认证架构演进:单块阶段(下)
    8分37秒  
  • 3
    35 | 安全认证架构演进:微服务阶段
    12分45秒  
  • 4
    36 | 基于JWT令牌的安全认证架构
    3分15秒  
  • 5
    37 | JWT的原理是什么?
    8分0秒  
  • 6
    38 | JWT有哪两种主要流程?
    7分15秒  
  • 7
    39 | Staffjoy安全认证架构和SSO
    5分46秒  
  • 8
    40 | 用户认证代码剖析
    17分11秒  
  • 9
    41 | 服务调用鉴权代码剖析
    13分36秒  
  • 10
    42 | 如何设计用户角色鉴权?
    5分29秒  
第六章:服务测试设计和实践
  • 1
    43 | Spring Boot微服务测试该如何分类?
    14分33秒  
  • 2
    44 | 什么是契约驱动测试?
    8分20秒  
  • 3
    45 | 什么是测试金字塔?
    6分39秒  
  • 4
    46 | 单元测试案例分析
    10分52秒  
  • 5
    47 | 集成测试案例分析
    11分4秒  
  • 6
    48 | 组件测试案例分析
    6分53秒  
  • 7
    49 | Mock vs Spy
    6分34秒  
第七章:可运维架构设计和实践
  • 1
    50 | 何谓生产就绪(Production Ready)?
    9分12秒  
  • 2
    51 | Spring Boot如何实现分环境配置
    8分37秒  
  • 3
    52 | Apollo vs SpringCloudConfig vs K8s ConfigMap
    11分18秒  
  • 4
    53 | CAT vs Zipkin vs Skywalking(上)
    11分26秒  
  • 5
    54 | CAT vs Zipkin vs Skywalking(下)
    10分6秒  
  • 6
    55 | 结构化日志和业务审计日志
    11分58秒  
  • 7
    56 | 集中异常监控和Sentry
    6分38秒  
  • 8
    57 | EFK & Prometheus & Skywalking + Kubernetes 集成架构
    9分10秒  
第八章:服务容器化和Docker Compose部署
  • 1
    58 | 本地开发部署架构和软件需求
    10分13秒  
  • 2
    59 | 手工服务部署和测试(上)
    12分37秒  
  • 3
    60 | 手工服务部署和测试(中)
    18分1秒  
  • 4
    61 | 手工服务部署和测试(下)
    14分32秒  
  • 5
    62 | SkyWalking调用链监控实验
    9分52秒  
  • 6
    63 | Docker和Docker Compose简介
    12分45秒  
  • 7
    64 | 容器镜像构建Dockerfile解析
    8分45秒  
  • 8
    65 | Docker Compose服务部署文件剖析
    12分13秒  
  • 9
    66 | 将Staffjoy部署到本地Docker Compose环境(上)
    14分0秒  
  • 10
    67 | 将Staffjoy部署到本地Docker Compose环境(下)
    12分40秒  
第九章:云原生架构和Kubernetes容器云部署
  • 1
    68 | 到底什么是云原生架构?
    7分58秒  
  • 2
    69 | Kubernetes背景和架构
    11分3秒  
  • 3
    70 | Kubernetes有哪些基本概念(上)
    8分4秒  
  • 4
    71 | Kubernetes有哪些基本概念(下)
    9分8秒  
  • 5
    72 | 理解Kubernetes节点网络和Pod网络
    8分53秒  
  • 6
    73 | 深入理解Service和ServiceDiscovery
    10分39秒  
  • 7
    74 | NodePort vs LoadBalancer vs Ingress
    9分54秒  
  • 8
    75 | 本地测试Kubernetes部署文件剖析
    13分9秒  
  • 9
    76 | 本地测试Kubernetes环境搭建
    9分55秒  
  • 10
    77 | 将Staffjoy部署到本地Kubernetes环境(上)
    11分38秒  
  • 11
    78 | 将Staffjoy部署到本地Kubernetes环境(下)
    8分9秒  
  • 12
    79 | 生产环境Kubernetes部署文件剖析
    12分37秒  
  • 13
    80 | 阿里云Kubernetes环境创建
    21分16秒  
  • 14
    81 | 将Staffjoy部署到阿里云Kubernetes环境
    11分36秒  
  • 15
    82 | Kubernetes应用动态配置实验
    5分18秒  
  • 16
    83 | Kubernetes应用金丝雀发布实验
    9分36秒  
  • 17
    84 | 阿里云资源释放
    4分5秒  
第十章:项⽬复盘、应用和扩展环节
  • 1
    85 | 课程复盘
    10分0秒  
  • 2
    86 | 项目扩展和应用
    8分14秒  
第十一章:附录 Staffjoy 项目源代码解析
  • 1
    87 | Account服务
    14分53秒  
  • 2
    88 | Company服务
    10分29秒  
  • 3
    89 | Mail、SMS和Bot服务
    10分23秒  
  • 4
    90 | Faraday服务
    10分52秒  
  • 5
    91 | WhoAmI服务
    5分9秒  
  • 6
    92 | WWW服务
    15分6秒  
  • 7
    93 | 前端应用
    16分17秒  
  • 8
    94 | 结课测试&结束语
    6分10秒