通过手把手架构、设计和开发一个准生产级的微服务SAAS应用,并最终部署到Kubernetes容器云环境,帮助学员:
- 掌握如何在实践中设计微服务架构和前后分离架构
- 掌握如何基于Spring(Boot)搭建微服务基础框架,包括
- 如何设计轻量级服务开发框架
- 如何设计轻量级安全框架和实现SSO
- 如何设计轻量级可编程网关
- 掌握微服务测试技术和相关实践
- 掌握可运维架构理念和相关实践
- 掌握服务容器化和容器云部署相关实践,包括
- 如何将服务部署到本地Docker Compose环境
- 云原生(CloudNative)架构理念和Kubernetes核心概念
- 如何将服务部署到Kubernetes(本地+阿里云)容器云环境
- 理解云时代的软件工程流程和相关实践:
- 需求->架构设计->框架搭建->服务实现->测试->可运维架构->容器云部署
- 建立DevOps研发运维一体化视角
- 理解如何架构和设计一个SaaS多租户应用
- 进一步提升Java/Spring开发技能
课程项目源码开放在github上,可以作为学习现代微服务、云原生和SAAS应用架构的一个参考,也可作为类似项目的脚手架。
- 课程背景介绍
- 课程目标和主要内容
- 课程案例需求
- 课程补充说明
- 为何采⽤微服务架构?
- 架构设计和技术栈选型
- 数据和接口模型设计~账户服务
- 数据和接口模型设计~业务服务
- Dubbo、SpringCloud和K8s该如何选择(上)
- Dubbo、SpringCloud和K8s该如何选择(中)
- Dubbo、SpringCloud和K8s该如何选择(下)
- 技术中台到底讲什么?
- Staffjoy项目结构组织
- 谷歌为何采用单体仓库(Mono-Repo)
- 微服务接口参数校验为何重要?
- 如何实现统一异常处理?
- DTO和DMO为什么要互转?
- 如何实现基于Feign的强类型接口?
- 为什么框架层就要考虑分环境配置?
- 异步处理为何要复制线程上下文信息?
- 为你的接口添加Swagger文档
- 主流微服务框架概览
- 网关和BFF是如何演化出来的(上)
- 网关和BFF是如何演化出来的(下)
- 网关和反向代理是什么关系?
- 网关需要分集群部署吗?
- 如何设计一个最简网关?
- Faraday网关代码解析(上)
- Faraday网关代码解析(下)
- 生产级网关需要考虑哪些环节?
- 主流开源网关概览
- 安全认证架构演进~单块阶段(上)
- 安全认证架构演进~单块阶段(下)
- 安全认证架构演进~微服务阶段
- 基于JWT令牌的安全认证架构
- JWT的原理是什么?
- JWT有哪两种主要流程?
- Staffjoy安全认证架构和SSO
- 用户认证代码剖析
- 服务调用鉴权代码剖析
- 如何设计用户角色鉴权?
- SpringBoot微服务测试该如何分类?
- 什么是契约驱动测试?
- 什么是测试金字塔?
- 单元测试案例分析
- 集成测试案例分析
- 组件测试案例分析
- Mock vs Spy
- 何谓生产就绪(Production Ready)?
- SpringBoot如何实现分环境配置?
- Apollo vs Spring Cloud Config vs K8s ConfigMap
- CAT vs Zipkin Vs Skywalking
- 结构化日志和审计日志
- 集中异常监控和Sentry
- ELK & Prometheus & Skywalking + K8s部署架构
- 本地开发部署架构和需求
- 手工服务部署和测试
- Skywalking调用链监控实验
- Docker和Docker Compose简介
- 容器镜像构建Dockerfile解析
- Docker Compose服务部署文件剖析
- 将Staffjoy部署到本地Docker Compose环境
- 到底什么是云原生架构?
- K8s背景和架构
- K8s有哪些基本概念?
- 理解Kubernetes节点网络和Pod网络
- 深入理解Service网络和Service Discovery
- NodePort vs LoadBalancer vs Ingress
- 本地测试Kubernetes部署文件剖析
- 本地测试Kubernetes环境搭建
- 将Staffjoy部署到本地Kubernetes环境
- 生产环境Kubernetes部署文件剖析
- 阿里云Kubernetes环境创建
- 将Staffjoy部署到阿里云Kubernetes环境
- Kubernetes应用动态配置实验
- Kubernetes应用金丝雀发布实验
- 项目复盘
- 项目扩展和应用
- Account服务
- Company服务
- Mail、SMS和Bot服务
- Faraday网关服务
- WhoAmI会话服务
- WWW服务
- MyAccount & App单页应用