
你将学到

1.项目模块:项目主要围绕“用户注册”、“用户登录”以及“用户管理”等模块构建
2.Web 框架:基于 Servlet 实现 Web MVC Framework,使用 JSP、EL 以及 JSTL 作为服务端视图模板引擎
3.IoC 框架:基于 JNDI 和 Java Common Annotations 实现 IoC(CDI)框架
4.同步服务:基于 JAX-RS 和 MicroProfile Rest Client 实现服务调用框架
5.异步服务:基于 JMS 和 MicroProfile Reactive Messaging 作为异步服务通讯
6.数据存储:应用 IoC 框架整合 JDBC 和 JPA 实现项目数据持久化
week2
1.日志管理:基于 Java Logging 作为系统日志框架,理解其整体设计和架构
2.监控管理:使用 Java JMX(Java 管理扩展)对关键服务进行监管,理解 JMX 架构和不同类型的 MBean 使用场景
3.配置管理:基于 MicroProfile Config 实现配置框架,理解 ServletContext Config、ServletConfig、JVM 启动参数、Java 系统属性以及环境变量等外部化配置差异
4.质量保证:运用 codebase 平台工具实现代码变更通知、代码分析以及 Code Review 流程,并使用 GitHub/GitLab CI 工具集成 Maven 生态构建自动化测试平台
week3
1.负载均衡:使用多 Java EE 容器对等部署的方式,达到均衡服务器压力的目的
2.API 网关:基于 Servlet 异步技术实现高性能 API 网关
3.单点登录:通过 Java EE 容器 Session 复制等手段提供项目 Web 应用的单点登录能力
4.性能压测:通过 JDK 动态代理和 Servlet Filter 方式,对项目关键服务进行性能埋点,评估 API 性能指标
5.性能提升:结合压力测试结果,运用 Java Caching 整合 Redis 以及异步技术,提升系统性能
6.访问控制:使用 Java EE 容器认证和授权架构实现访问控制
7.Web 安全:了解 SQL 注入、CSRF、XSS、HSTS 等攻击手段,结合 Java Security 提升加密解密和安全防护能力
week4
1.数据存储:使用 MyBatis 和 Spring Data JPA 重构项目 JDBC 封装实现
2.视图渲染:基于 Spring Web MVC 重构业务实现,并复用 JSP、EL 以及 JSTL 页面
3.服务通讯:基于 Spring Web MVC 适配 JAX-RS 注解,实现业务代码复用,使用 Spring JMS 重构项目遗留 JMS 实现
week5
1.测试用例:基于 Spring Testing 重构项目单元测试和集成测试
2.服务监控:基于 Spring JMX 重构项目中 MBean 的管理,理解 Spring JMX @ManagedResource 注解,简化 JMX 开发的实现细节。
3.日志管理:使用 Spring Logging API 替换现有的 Java Logging 实现,并理解它与 Apache Commons Logging 以及 SLF4J 的区别。
4.配置管理:基于 Spring 外部化配置重构当前项目基于 Apache Commons Configuration 的配置抽象实现。
1.负载均衡:利用 Nginx 作为反向代理服务器,更替 Java-Based Web Server 实现
2.单点登录:使用 Spring Session 升级项目遗留的单点登录实现
3.API 网关:基于 Nginx 构建系统 API 网关,利用 Spring WebFlux 实现业务 API 网关
4.性能压测:使用 Spring AOP 替换项目性能埋点实现,并重新评估重构后的 API 性能指标
5.性能提升:使用 Spring Caching 抽象重构 Java Caching 标准实现,运用 Nginx 实现动态内容和静态内容分离,使用 Varnish 提升 Web 整体性能
week7
1.服务通讯:使用 Apache Dubbo 替换项目部分 REST API 同步服务,使用 Spring Kafka 重构异步服务通讯
2.数据存储:使用 Apache ShardingSphere 增加数据库分库分表能力
3.服务注册与发现:理解 Dubbo Registry SPI 以及不同的基础设施实现,如:ZooKeeper、Consul 和 Nacos 等
week8
1.负载均衡:理解 Dubbo LoadBalance SPI 设计以及各种不同的实现,结合项目实际情况,合理选型
2.服务路由:理解 Dubbo Route SPI 设计与实现,并模拟实现多区域用户路由到不同的 Dubbo 服务机房
3.配置管理:使用 Nacos Spring 提升分布式动态配置
4.服务监控:使用 Apache Dubbo Admin 提升项目 DevOps 能力,如:治理 Dubbo 服务、实现延迟暴露、优雅上下线、动态路由等
week9
1.服务高可用:基于 Netflix Hystrix 和 Alibaba Sentinel 实现 Web 服务和 Dubbo 服务熔断、降级和限流
2.安全和控制: 基于 Spring Security 提升 Dubbo 服务认证和授权能力
3.全链路压测:基于JMeter 技术,再结合库表设计,实现平台业务全链路压测
4.灰度发布:基于 Nginx 插件提供平台灰度发布的能力
week10
1.数据存储:使用第三方 Spring Boot Starter 重构 MyBatis 和 Apache ShardingSphere 实现,并使用 Spring Boot 官方 Starter 针对 JPA 和 Caching 等进行升级
2.视图渲染:使用 Vue.js 替换 Java Web Server 服务端视图渲染
3.服务通讯:使用 Dubbo Spring Cloud 重构同步服务,基于 Spring Cloud Stream 重新实现异步服务
week 11
1.测试用例:学习并使用 Spring Boot Testing 重构集成测试
2.负载均衡:使用 Spring Cloud LoadBalancer 抽象重构 REST 负载均衡
3.服务监控:理解 Spring Boot Actuator 体系,使用 Spring Boot Admin 提升 Spring Boot 应用运维能力
4.配置管理:基于 Spring Cloud Config 实现动态分布式配置
5.日志管理:基于 Spring Cloud Config 实现分布式动态日志管理
week 12
1.访问控制:使用 Spring Security OAuth 提升认证和授权架构,实现访问控制
2.Web 安全:使用 Spring Security Starter 配置化实现 CSRF、XSS、HSTS
3.API 网关:使用 Spring Cloud Gateway 重构 Spring WebFlux 实现的业务 API 网关,使用 Dubbo Spring Cloud 实现 Dubbo 服务网关
4.服务高可用:基于 Spring Cloud Circuit Breaker 重构服务熔断实现,并结合 Spring Cloud Alibaba Sentinel 实现服务限流和熔断
5.分布式跟踪:理解 Dapper 分布式跟踪理论,使用 Spring Cloud Sleuth 实现分布式应用服务跟踪
week 13
1.容器化技术:掌握以 Docker 为代表的容器化技术,并介绍不同的容器引擎
2.Kubernetes:理解 Kubernetes 架构、Pod 和容器设计模式、应用编排与管理等
3.服务注册与发现:使用 Spring Cloud Kubernetes 替换现有 Spring Cloud 传统实现,理解 Kubernetes API Server 架构
4.服务通讯:使用 gRPC 升级 Dubbo 中的传输协议,利用 RSocket 实现 Dubbo 异步服务通讯(Reactive)
week 14
1.运维建设:构建企业 Docker 镜像仓库,打造以 Docker 为基础的 CI/CD 环境
2.负载均衡:理解 Kubernetes Ingress 及负载均衡解决方法
3.服务监控:(可观测性)理解 livenessProbes、readinessProbes、容器日志收集,使用 Prometheus 和 Grafana 的监控系统实践
4.配置管理:基于 Spring Cloud Kubernetes Config 更替已有配置实现,理解 Kubernetes ConfigMaps
5.日志管理:使用 Kubernetes 平台日志管理方法
week 15
1.访问控制:了解 Kubernetes 中 API 访问安全机制、认证和授权,逐步替代现有实现
2.API 网关:使用 Istio Ingress 升级 API 网关实现
3.服务高可用:使用 Istio 替换 Spring Cloud Circuit Breaker 实现
4.分布式跟踪:使用 Jaeger 替换 Spring Cloud Sleuth 实现
5.性能提升:使用 GraalVM 提升 Java 微服务性能

评论(0)