01 - 05 | 项目介绍
1 项目介绍
-
改造了一个叫 Staffjoy 的开源项目。
-
采用微服务架构,并且可以一键部署到 Kubernetes 容器云环境。
-
不仅深入理解微服务和云原生架构的原理,同时能够在生产实践中真正的落地实施微服务和云原生架构。
-
采用Spring Boot框架,全研发流程环节。
- 需求,架构设计,框架搭建,服务实现,测试,可运维架构和容器云部署等。
2 主要内容
- 掌握微服务架构和前后分离架构设计
- 掌握基于Spring Boot 搭建微服务基础框架
- 进一步提升 Java/Spring 微服务开发技能
- 掌握 Spring Boot 微服务测试和相关实践
- 理解
SaaS
多租户应用的架构设计 - 理解可运维架构理念和相关实践
- 掌握服务容器化和容器云部署相关实践
- 理解云时代的软件工程流程和实践
3 项目背景及需求
- Staffjoy 是硅谷初创公司(2015-2017)
- 公示排班(Scheduling)SaaS服务
- https://github.com/staffjoy/v2
- 原版 Golang
- 教学版 Java/Spring 去掉了
gRPC API Gateway
- Lombok 减少编码
- 功能
- 管理员 Admin 管理公司和排班
- 雇员 Worker 管理个人信息
- 非功能
- SaaS + 定制部署
- 一键部署到 Kubernetes 容器云
- 营销和客服友好(Marketing & Customer Friendly)
4 技术选型
- Java/Spring、HTML、JavaScript、和MySQL
- JDK 8 + Maven
- Intellij IDEA
- MySQL + Workbench
- Node.js + npm
- Docker