课程目录:
Java EE 项目迭代 – 项目开发和框架实现
教学目标
1.使用 Java 标准化技术栈开发项目
2.掌握 Java 生态系统、企业级架构和技术规范
3.基于 Java 标准技术栈自研开发框架,为主流框架的设计和实现做铺垫
架构工作中的痛点
1.缺少 Java 生态全局视野,对潜在需求,尤其是非功能姓需求意识较弱
2.日常工作对 Java 标准技术、规范和 API 知之甚少,阅读框架源码举步维艰
通过学习掌握的核心能力
1.技术规范:了解项目中所使用的 Java 规范和 API 接口
2.实战运用:使用标准 Java 技术栈和自研框架迭代实现项目需求
详细内容
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 实现项目数据持久化
Java EE 项目迭代 – 运维管理
教学目标
1.提升项目运维管理能力,实现可配置和可监控
2.使用 CI/CD 工具实现项目持续交付,构建自动化平台
3.理解标准 Java 技术栈在运维管理中扮演的角涩
架构工作中的痛点
1.项目代码变更之后,缺乏自动化测试和试运行机制,产品质量得不到有效的保障
2.作为一名开发人员,对于运维体系和手段相对陌生,无法运用 Java EE 容器内建特姓达到运维目的
通过学习掌握的核心能力
DevOps:打造项目的运维体系,包括 codebase 管理、项目构建工具运用、CI/CD 平台搭建、以及基于 Java 实现服务监控、日志管理以及配置管理等
详细内容
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 生态构建自动化测试平台
Java EE 项目迭代 – 分布式架构设计
教学目标
1.熟练运用 Java EE 容器实现平台高可用、高性能以及高并发的需要
2.使用 Java Security 实现平台访问控制和安全防护
架构工作中的痛点
1.由于企业系统规模的局限,缺少实践高可用、高性能和高并发 Java 分布式架构的机会
2.作为一名业务开发,日常项目中缺乏访问控制和 Web 安全防控的意识
通过学习掌握的核心能力
安全防控:理解服务认证和授权架构,并结合 Java EE 容器实现访问控制;了解常见 Web 攻击手段,构建安全 Web 服务
详细详细内容:
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 提升加密解密和安全防护能力
Java 开源整合项目迭代 – 实现重构
教学目标
使用 Spring 技术栈和其他开源框架重构当前项目
架构工作中的痛点
公司项目的技术单一,对 Java 技术生态缺少技术选型的判断力和决策力
通过学习掌握的核心能力
使用标准 Java 技术、Spring 以及其他开源框架迭代重构当前项目
详细内容
1.数据存储:使用 MyBatis 和 Spring Data JPA 重构项目 JDBC 封装实现
2.视图渲染:基于 Spring Web MVC 重构业务实现,并复用 JSP、EL 以及 JSTL 页面
3.服务通讯:基于 Spring Web MVC 适配 JAX-RS 注解,实现业务代码复用,使用 Spring JMS 重构项目遗留 JMS 实现
Java 开源整合项目迭代 – 运维重构
教学目标
使用 Spring 技术栈替换 Java EE 架构的运维体系
架构工作中的痛点
日常开发能够熟练使用 Spring 技术栈,然而对其生态缺乏整体认识,对框架细节相对陌生
通过学习掌握的核心能力
从实现成本和学习曲线等多维度对比标准 Java 技术生态、Spring 技术生态以及其他开源框架
详细内容
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 的配置抽象实现。
Java 开源整合项目迭代 – 架构升级
教学目标
利用非 Java 基础设施提升平台应用的整体性能
架构工作中的痛点
长期从事 Java 服务端研发,对于非 Java 技术栈如何提升平台性能缺少实战经验
通过学习掌握的核心能力
1.掌握 Nginx、Varnish 等非 Java Web 服务基础设施
2.了解 Spring Security 特姓和架构,并运用其特姓重构项目的访问控制和 Web 安全实现
详细内容
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 整体性能
Java SOA 项目迭代 – 需求分析和开发
教学目标
构建 SOA 理论体系,了解 SOA 解决方案,为项目选型提供参考
架构工作中的痛点
在日常开发中更多的关注是功能实现和框架运用,对于 SOA 架构并未建立清晰的理论体系
通过学习掌握的核心能力
1.理解 SOA 的概念、原则、模式、实现以及延伸架构,如:事件驱动架构、WebServices、REST 等
2.服务注册与发现:理解服务注册与发现理论,掌握不同注册中心技术选型的使用场景
详细内容
1.服务通讯:使用 Apache Dubbo 替换项目部分 REST API 同步服务,使用 Spring Kafka 重构异步服务通讯
2.数据存储:使用 Apache ShardingSphere 增加数据库分库分表能力
3.服务注册与发现:理解 Dubbo Registry SPI 以及不同的基础设施实现,如:ZooKeeper、Consul 和 Nacos 等
Java SOA 项目迭代 – 平台运维
教学目标
引入 Apache Dubbo Admin 技术,提升项目运维能力
架构工作中的痛点
没有接触过服务治理、负载均衡、服务路由、服务熔断、三方登录等分布式高阶场景
通过学习掌握的核心能力
1.负载均衡:理解常见负载均衡算法,把握它们的适用场景
2.服务路由:了解服务路由的使用场景,掌握动态服务路由的实现原理
详细内容
1.负载均衡:理解 Dubbo LoadBalance SPI 设计以及各种不同的实现,结合项目实际情况,合理选型
2.服务路由:理解 Dubbo Route SPI 设计与实现,并模拟实现多区域用户路由到不同的 Dubbo 服务机房
3.配置管理:使用 Nacos Spring 提升分布式动态配置
4.服务监控:使用 Apache Dubbo Admin 提升项目 DevOps 能力,如:治理 Dubbo 服务、实现延迟暴露、优雅上下线、动态路由等
Java SOA 项目迭代 – 架构升级
教学目标
1.使用 SOA 的模式和实现升级当前项目的架构,使其符合 SOA 的原则
2.运用全链路压测,对重构后的 SOA 应用进行性能评估
3.实现灰度发布策略,确保应用更迭安全稳定
架构工作中的痛点
1.目前应用规模无法触及高并发场景,缺少自动化和精细化测量业务完整链路的性能指标
2.尽管回归测试相对完善,然而项目发布时仍提心吊胆,无法在生产环境执行小规模测试
通过学习掌握的核心能力
1.服务高可用:了解服务熔断、降级以及限流的原理和差异
2.安全控制:理解 OAuth2 架构和原理,帮助项目提升认证和授权的能力
3.全链路压测:掌握全链路压测系统的设计模式,寻找服务性能短板
4.灰度发布:掌握灰度发布的实现策略,理解不同基础设施实现的利弊
详细内容
1.服务高可用:基于 Netflix Hystrix 和 Alibaba Sentinel 实现 Web 服务和 Dubbo 服务熔断、降级和限流
2.安全和控制: 基于 Spring Security 提升 Dubbo 服务认证和授权能力
3.全链路压测:基于JMeter 技术,再结合库表设计,实现平台业务全链路压测
4.灰度发布:基于 Nginx 插件提供平台灰度发布的能力
Java 微服务架构项目迭代 – 技术提升
教学目标
1.理解微服务架构的概念、与 SOA 架构的区别,以及常见的实现模式
2.使用前后端分离技术实现服务端视图渲染
架构工作中的痛点
1.时常听到微服务架构的理论和实践案例,但不清楚它与 SOA 到底存在哪些区别
2.长期从事服务端研发,对前端技术的发展不了解,缺少前后端分离技术的实践经验
通过学习掌握的核心能力
1.理论知识:掌握微服务架构理论体系,了解微服务最佳实践
2.技术提升:理解 Spring Boot/Spring Cloud 核心特姓和架构设计
详细内容
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 重新实现异步服务
Java 微服务架构项目迭代 – 平台运维
教学目标
运用微服务架构理论和基础设施升级平台架构
架构工作中的痛点
应用架构升级到微服务过程中,伴随着基础设施的升级,又需要学习新的技术,感觉力不从心
通过学习掌握的核心能力
掌握 Spring Boot 和 Spring Cloud 中的运维方式
详细内容
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 实现分布式动态日志管理
Java 微服务架构项目迭代 – 架构升级与过渡
教学目标
运用微服务架构理论和基础设施升级平台架构
架构工作中的痛点
公司为顺应潮流,要求将所有应用架构升级到微服务架构,然而缺少应用合理拆分的理论指导,也不清楚如何应对拆分后的潜在风险
通过学习掌握的核心能力
1.架构升级:使用 Spring Boot 和 Spring Cloud 升级 Java 基础设施
2.架构过渡:掌握不同发布策略的实质和区别,合理选择架构过渡方案
详细内容
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 实现分布式应用服务跟踪
6.性能压测:使用 Spring AOP 替换项目性能埋点实现,并重新评估重构后的 API 性能指标
7.性能提升:使用 Spring Caching 抽象重构 Java Caching 标准实现,运用 Nginx 实现动态内容和静态内容分离,使用 Varnish 提升 Web 整体性能
Java 云原生项目迭代 – 开发提升
教学目标
理解云原生云的基本概念、实质以及主流技术
架构工作中的痛点
云原生的势头迅猛,感觉工作和云原生的实践缺少交集,心里不踏实,也缺少一条弯道超车的办法
通过学习掌握的核心能力
1.理论知识:了解云原生的理论,掌握主流云原生基础设施
2.技术提升:掌握 GraalVM、Docker、Kubernetes、Service Mesh(Istio)以及 Spring 云原生等技术
详细内容
1.容器化技术:掌握以 Docker 为代表的容器化技术,并介绍不同的容器引擎
2.Kubernetes:理解 Kubernetes 架构、Pod 和容器设计模式、应用编排与管理等
3.服务注册与发现:使用 Spring Cloud Kubernetes 替换现有 Spring Cloud 传统实现,理解 Kubernetes API Server 架构
4.服务通讯:使用 gRPC 升级 Dubbo 中的传输协议,利用 RSocket 实现 Dubbo 异步服务通讯(Reactive)
Java 云原生项目迭代 – 运维平台
教学目标
使用云原生主流技术升级项目的基础设施,并将其变成云原生应用
架构工作中的痛点
云原生生态体系庞大,而且对它缺乏整体认知,面对诸多技术选型无从抉择
通过学习掌握的核心能力
运维体系:熟悉私有云和公共云的运维体系,逐渐磨平两种体系的运维差异
详细内容
1.运维建设:构建企业 Docker 镜像仓库,打造以 Docker 为基础的 CI/CD 环境
2.负载均衡:理解 Kubernetes Ingress 及负载均衡解决方法
3.服务监控:(可观测姓)理解 livenessProbes、readinessProbes、容器日志收集,使用 Prometheus 和 Grafana 的监控系统实践
4.配置管理:基于 Spring Cloud Kubernetes Config 更替已有配置实现,理解 Kubernetes ConfigMaps
5.日志管理:使用 Kubernetes 平台日志管理方法
Java 云原生项目迭代 – 架构改造
教学目标
项目将从自建私有云部署到公有云平台(阿里云),并掌握阿里云主流云产品的使用
架构工作中的痛点
公司业务发展蓬勃,只有云平台支撑业务快速发展,需要具备公有云、私有云以及混合云的配套技能
通过学习掌握的核心能力
使用云原生流行技术等升级系统架构、基础设施和 DevOps 体系
详细内容
1.访问控制:了解 Kubernetes 中 API 访问安全机制、认证和授权,逐步替代现有实现
2.API 网关:使用 Istio Ingress 升级 API 网关实现
3.服务高可用:使用 Istio 替换 Spring Cloud Circuit Breaker 实现
4.分布式跟踪:使用 Jaeger 替换 Spring Cloud Sleuth 实现
5.性能提升:使用 GraalVM 提升 Java 微服务性能
常见问题FAQ
- 视频课程的格式是什么
- 视频不加密,网盘在线学习,课程免费更新,持续更新
- 怎么发货?
- 有些资源没更新完结怎么办
- 有问题不懂想咨询怎么办