1. MCA课程理念
马士兵认证架构师 (MCA,mashibing Certified Architect) 课程是一项由马士兵教育与多家一线互联网公司合作精心打造的高级架构师认证课程,简称 《MCA高级架构师》课程 。该课程经过充分的市场调研,不仅包含硬核的专业技能,还融入了多领域通用技术解决方案和实战经验,致力于培养企业迫切需要的实战型人才。
《 MCA高级架构师》课程专注于Java开发技能培训,涵盖广泛的技术领域,对标阿里P8级专业标准,旨在培养综合能力架构师。课程以实战驱动式教学,技术包括大厂必备的计算机理论、性能调优、中间件底层与源码、分布式与微服务框架、云原生、大数据、架构师必须掌握的服务保障和技术视野拓展等层面内容。此外,该套课程还涵盖了十大热门互联网项目,包括飞滴出行网约车项目、马士兵严选大型分布式电商架构、从0到1商城项目实现、大型电商日志离线分析系统、星城货运管理系统、大型医疗挂号医疗系统等项目。
2. 2024升级计划
秉承着为Java从业者提供卓越竞争力的信念以及培养综合能力架构师的宗旨,我们全身心 投入了以下课程升级计划 ,并 将根据2024年的市场技术调研和企业用人需求,进行合理的变动和调整 。
2.1 底层原理
课程名称 | 升级亮点 |
---|---|
JDK21新特性 |
|
2.2 性能调优
课程名称 | 升级亮点 |
---|---|
多线程新版本调优 |
|
JDK11版本JVM调优 |
|
接口性能优化方案及实战 |
|
2.3 经典框架与源码
课程名称 | 升级亮点 |
---|---|
Spring 6.0 |
|
SpringBoot 3.0 |
|
2.4 微服务模块
课程名称 | 升级亮点 |
---|---|
SpringCloud系列更新 |
|
Dubbo3 |
|
2.5 数据库专题
课程名称 | 升级亮点 |
---|---|
MySQL8新特性 |
|
PostgreSQL16新特性 |
|
2.6 核心中间件
课程名称 | 升级亮点 |
---|---|
RocketMQ5.x新特性 |
|
Kafka3.x新特性 |
|
Redis7新特性 |
|
2.7 架构设计
课程名称 | 升级亮点 |
---|---|
如何从小白成为架构师 |
|
架构案例分析课 |
|
2.8 实战项目
课程名称 | 升级亮点 |
---|---|
亿级流量网关自研实战 |
|
自研消息中间件 |
|
分布式解决方案与实战 |
|
"马上好医"大型医疗挂号系统 |
|
网约车进阶版 |
|
2.9 云原生与大数据
课程名称 | 升级亮点 |
---|---|
容器管理工具Docker |
|
Kubernetes集群部署 |
|
Kubernetes网络解决方案 |
|
kubernetes实战与源码剖析 |
|
Hadoop生态 |
|
Flink实时计算引擎 |
|
大数据数仓体系 |
|
湖仓一体电商数据分析平台 |
|
3. 架构师路线图
《 MCA高级架构师》课程经过了超过10次的迭代更新,不断完善技术和项目体系。截止到今天,该套课程已经提供了超过200门不同主题的课程,课程时长总计超过4000小时,覆盖了Java开发行业99.9%的技术。
《MCA高级架构师》课程充分整合了众多一线大厂架构师的职业成长经验,并结合丰富教学经验打造了一条科学且高效的架构师成长学习路线。
3.1 Java中级开发
具备一定的Java编程基础,能够独立完成企业常见项目开发的Java工程师。
3.2 Java高级开发
具备性能调优的能力,能够深入研究框架源码,具备独立架构设计能力以及领导团队开发的Java工程师
3.3 大厂架构师
具备广泛技术知识和深厚经验的 Java工程师,负责设计复杂系统的整体结构,以满足业务需求并确保系统的高性能、高可用和高拓展。同时能够深入把控业务需求、用户体验以及未来的发展趋势。
4. 课程技术大纲
4.1 架构师启航之底层原理
4.1.1 教学目标
在架构师启航之底层原理阶段,我们将深入研究计算机科学的核心领域,包括计算机网络、计算机组成原理、计算机操作系统、 JDK数据结构源码、JDK网络编程、TCP和HTTPS协议原理、远程服务调用(RPC)、以及Netty底层原理。
通过掌握这些基础知识,学员将获得对计算机体系结构、底层通信原理和编程技术的深刻理解。这将有助于在工作中更好地设计和优化复杂系统、解决性能问题。本阶段技能可以为企业提供可靠的技术解决方案,助力你成为优秀高级架构师。
4.1.2 核心课程组成
- 计算机网络
- 计算机组成原理
- 计算机操作系统
- JDK数据结构源码
- JDK网络编程
- 深入理解TCP原理
- 深入理解HTTPS原理
- RPC_远程服务调用
- Dubbo从入门到源码
- Netty底层原理
4.2 经典框架运用
4.2.1 教学目标
在经典框架运用阶段, 我们 将深入学习经典的 Java框架,包括MyBatis、MyBatisPlus、Spring、SpringMVC、SpringDataJPA、Spring Boot 以及Spring Cloud Alibaba等技术。
通过这个阶段的学习,学员将掌握这些框架的实际应用,学会构建稳健的企业级应用和微服务架构,具备高级 Java开发者的技能,能够构建复杂的应用程序,实现数据持久化、RESTful API、微服务架构和工作流处理。这将有助于学员在软件开发领域获得更广泛的就业机会,并提供高质量的技术解决方案。
4.2.2 核心课程组成
- MyBatis实战
- MyBatisPlus实战
- Spring
- SpringMVC
- SpringDataJPA实战教程
- SpringBoot框架_简单配置的一站式框架
- Spring Cloud Alibaba 基础应用
- Activiti7工作流实战教程
4.3 并发编程专题
4.3.1 教学目标
在并发编程专题阶段, 我们 将深入研究多线程编程和高并发处理,包括多线程与高并发实战、多线程与高并发第二版的线程池源码解析、多线程第三版的Java Util Concurrency (JUC) 包原理、协程技术,以及Java多线程从入门到精通。
通过这个阶段的学习,学员将具备高级 Java开发者的多线程编程技能,能够构建高并发的应用程序,解决性能和资源管理问题,可以很好地处理企业实际开发中多线程应用和高并发系统相关问题。
4.3.2 核心课程组成
- 多线程与高并发实战
- 多线程与高并发第二版之常用线程池源码全解
- 多线程第三版之JUC包原理全解
- 高并发解决方案之协程
- Java多线程从入门到精通
4.4 数据库专题
4.4.1 教学目标
在数据库专题阶段, 我们 将深入学习各种数据库技术,包括MySQL、Oracle、PostgreSQL、Apache ShardingSphere、Mycat2和Neo4J 等技术栈,内容包括不限于数据库的基本操作和性能调优,数据库的底层原理,以及高级数据库操作优化内容。
通过这个阶段的学习,学员将具备数据库管理和优化的能力,能够设计复杂的数据库架构、解决数据库性能相关问题,为企业提供可靠的数据库解决方案。
4.4.2 核心课程组成
- MySQL数据库
- MySQL性能调优与架构设计
- MySQL 8.0底层原理及生产实战
- Oracle关系型数据库2023版
- PostgreSQL关系型数据库
- Apache ShardingSphere实战与核心源码剖析
- Mycat2应用与实战教程
- mycat,shardingsphere从入门到精通
- Neo4J图数据教程
4.5 核心中间件技术
4.5.1 课程介绍
在核心中间件技术阶段,我们将深入学习关键中间件技术,包括Redis、Kafka、RabbitMQ、RocketMQ等 技术, 学习内容包含不限于中间件作为缓存和消息队列核心原理及企业实战落地应用。
通过这个阶段的学习,学员将具备中间件技术的使用和优化能力,能够构建高性能、可扩展的分布式系统,实现数据缓存、消息传递和异步通信。提升在架构设计和性能优化领域技能。
4.5.2 核心课程组成
- Redis核心技术与实战
- Redis缓存数据库进阶
- 2021新版redis6.x及r
- Redis缓存数据库
- 通过C语言深度解读Redis核心架构
- 消息中间件-Kafka实战
- Kafka-3.X核心技术
- 消息中间件-RabbitMQ实战
- RocketMQ实战
- RocketMQ-4.X源码分析
- RocketMQ-5源码分析
4.6 分布式框架
4.6.1 课程介绍
在分布式框架阶段,我们将深入研究分布式系统和相关框架,包括 LVS、Zookeeper、FastDFS、Minio、AirFlow、Nginx、Kong和Solr等技术,在该阶段中我们将学习构建高可用的分布式集群,实现负载均衡、分布式存储、任务调度、高性能Web服务和搜索引擎 等内容 。
通过这个阶段的学习,学习者将具备分布式系统设计和部署的能力,能够构建可靠的分布式架构,提供高性能的服务和搜索解决方案。有助于在分布式系统领域为企业提供可伸缩和高可用的技术方案。
4.6.2 核心课程组成
- 集群内并发-LVS
- Zookeeper应用实战与源码剖析
- 分布式存储框架FastDFS
- 分布式文件存储系统Minio
- AirFlow分布式任务调度框架
- 高可用的Web集群之Nginx企业级应用
- Nginx+lua+OpenResty高性能实践
- Kong入门与实战
- Solr高效的搜索引擎
4.7 性能调优
4.7.1 课程介绍
在性能调优阶段,我们将深入学习性能调优技术,包括 Nginx、JVM、MySQL、Tomcat、LVS等技术。在该阶段中我们将会学习优化Web服务器、Java虚拟机、数据库和负载均衡系统,以提高应用程序的性能和可伸缩性。
通过这个阶段的学习,学习者将具备深度调优和优化的能力,能够使系统更加高效、稳定和响应迅速,为企业提供高性能的解决方案及出色的性能优化方案。
4.7.2 核心课程组成
- Nginx调优
- JVM调优
- Mysql调优
- Tomcat调优
- MySQL性能调优与架构设计
- LVS负载均衡
- 接口性能优化方案及实战
4.8 设计模式
4.8.1 课程介绍
在设计模式阶段,我们将深入学习软件设计模式,包括23种常见的设计模式以及它们在 Spring 框架和 MyBatis 框架中的应用。本阶段中我们将会学习如何通过设计模式解决常见的软件设计问题,提高代码的可维护性和可扩展性。
通过这个阶段的学习,学员将具备设计复杂系统的能力,使用经典设计模式构建灵活和高效的应用。有助于为企业提供可维护和可扩展的软件解决方案。
4.8.2 核心课程组成
- 抽丝剥茧设计模式精讲
- 23种设计模式精讲
- 剖析Spring框架中用到的经典设计模式
- 剖析MyBatis框架中用到的经典设计模式
4.9 核心框架源码
4.9.1 课程介绍
在核心框架源码阶段,我们将深入研究各种核心框架的源代码,包括Spring、 MyBatis、SpringMVC、Spring Boot、Spring Security、Spring Cloud Alibaba、Spring Webflux和Dubbo。本阶段中我们会学习大型框架的核心代码,掌握源码阅读和调试的方法。
通过这个阶段的学习,学员将具备深度源码分析的能力,能够理解框架的内部工作原理,为自定义和扩展框架提供知识基础。
4.9.2 核心课程组成
- 学习源码的方法论
- Spring 底层源码
- SpringMVC源码
- Mybatis源码
- Springboot源码
- SpringSecurity源码
- Spring Cloud Alibaba源码
- Spring Webflux 深入实战
- Dubbo源码
4.10 架构设计
4.10.1 课程介绍
在架构设计阶段,我们将深入学习架构设计原理和实践,包括领域驱动模型设计与微服务架构、架构师角色从入门到进阶、分布式到微服务底层原理解析、架构质量保障、技术团队管理、产品规划与前端架构等内容。本阶段中我们将会学习如何设计可伸缩、高性能和可维护的软件架构,以满足业务需求。
通过这个阶段的学习,学员将具备架构设计和管理的能力,能够规划和维护复杂的软件系统,管理技术团队,并将技术与产品需求紧密结合,为企业提供高质量的技术解决方案和管理战略。
4.10.2 核心课程组成
- DDD领域驱动模型设计与微服务架构
- 架构师从入门到进阶(如何从小白成为架构师)
- 架构解密-从分布式到微服务底层原理详解
- 大厂架构质量保障:生产事故经验分享
- 架构师之大型技术团队管理
- 产品驱动力:如何科学规划管理产品
- java架构师需要掌握的前端架构(如何做技术选型)
4.11 Elasticsearch技术专题
4.11.1 教学目标
在 Elasticsearch技术专题阶段,我们将深入学习Elasticsearch的核心知识,包括基础和高级内容,运维和安全,以及实际项目和实战经验。通过这个阶段的学习,学员将掌握强大的全文搜索和分布式数据存储技术,能够构建高性能的搜索引擎和数据分析系统,具备 Elasticsearch的专业应用和管理能力,能够为企业构建可伸缩的搜索解决方案,确保数据的安全和高可用性。
4.11.2 核心课程组成
- Elasticsearch核心知识篇
- Elasticsearch高手进阶篇
- Elasticsearch运维与安全
- Elasticsearch项目与实战
4.12云原生落地实战
4.12.1 教学目标
在云原生实战阶段,我们将深入学习云计算和云原生技术,包括虚拟化、容器管理工具Docker、Kubernetes集群部署、Ingress Nginx Controller、容器镜像仓库Harbor、Kubernetes存储卷、Prometheus监控,以及Golang运维平台实战项目。
通过这个阶段的学习,学员将掌握云原生架构和容器化技术,能够构建高可用、弹性和可伸缩的云原生应用,具备云原生应用的设计和部署能力,管理容器化应用、监控性能,以及构建自动化运维平台。本阶段将会提升学员云原生和 DevOps领域相关技能,为企业提供现代化的应用架构和运维保驾护航。
4.12.2 核心课程组成
- 虚拟化与云计算
- 容器管理工具Docker
- Kubernetes集群部署
- Kubernetes集群核心概念
- Ingress Nginx Controller
- 容器镜像仓库管理方案Harbor
- Kubernetes存储卷
- kubernetes实战与源码剖析
- Prometheus-基础入门到源码剖析
- golang运维平台实战项目
4.13 大数据技术栈
4.13.1 教学目标
在大数据技术栈阶段,我们将深入学习大数据处理和分析技术,包括 Hadoop分布式文件系统HDFS、Hadoop分布式计算框架MapReduce、实时计算引擎Flink、大数据数仓体系、分布式计算框架Spark,以及实际应用如城市交通实时监控平台、湖仓一体电商数据分析平台,以及机器学习与数据挖掘等内容。
通过这个阶段的学习,学员将拥有处理大规模数据集的能力,具备构建实时数据处理系统,设计数据仓库,以及应用机器学习算法进行数据挖掘的能力,在大数据领域解决复杂问题,为企业提供关键的数据分析和决策支持。
4.13.2 核心课程组成
- Hadoop分布式文件系统HDFS
- Hadoop分布式文件系统HDFS
- Hadoop分布式计算框架MapReduce
- Flink实时计算引擎
- 大数据数仓体系
- 分布式计算框架Spark体系
- Flink城市交通实时监控平台
- 湖仓一体电商数据分析平台
- 机器学习与数据挖掘
4.14 大厂必备算法
4.14.1 教学目标
在大厂必备算法阶段,我们将深入学习算法和数据结构,包括算法基础知识、数据结构、排序算法、并查集算法、图论算法、贪心算法、动态规划等。
通过这个阶段的学习,学员将掌握解决复杂问题的算法思维和技巧,能够设计高效的算法解决方案。具备在技术面试和工程开发中解决算法难题的能力,为大型科技公司应聘和职业发展提供竞争优势。
4.14.2 核心课程组成
- 算法基础知识
- 数据结构深入精讲
- 排序算法
- 并查集算法
- 图论算法基础
- 图论算法进阶
- 贪心算法
- 动态规划基础
- 动态规划进阶
- 经典字符串处理
- 大厂经典算法笔试题
4.15 架构师硬核技能
4.15.1 教学目标
在架构师硬技能阶段,我们将深入学习架构质量保障、技术团队管理、产品规划和前端架构等关键技术领域技能。
通过这个阶段的学习,学员将掌握如何提高架构质量、管理大型技术团队、科学规划和管理产品,以及前端架构的技术选型,具备架构师的硬技能,能够为企业提供高质量的技术解决方案和有效的团队管理。
4.15.2 核心课程组成
- 大厂架构质量保障:生产事故经验分享
- 架构师之大型技术团队管理
- 产品驱动力:如何科学规划管理产品
- java架构师需要掌握的前端架构(如何做技术选型)
5. 大型项目大纲
5.1 马士兵三高大型分布式电商架构
5.1.1 课程介绍
马士兵严选项目是电商领域的核心项目,构建在spring cloud alibaba 微服务架构之上。该项目的主要目标是迎接电商领域高流量和高并发的挑战,针对电商核心模块,包括商品管理、交易处理、营销策略、用户评价、支付系统、权限管理以及即时通讯等超过十个关键模块展开深入工作。项目的理念在于优化电商业务流程,以满足互联网电商项目的需求,并严格遵循一线互联网大厂的开发规范。
通过从零开始手写超过6 万行代码,并运用多种设计模式,该项目旨在摒弃低质量的代码。马士兵严选项目还提供全方位的学习经验,包括产品原型设计、 UI 设计稿、技术框架搭建、技术组件封装以及核心业务开发。
5.1.2 项目优势
马士兵严选项目已成功投入实际线上运行,采用微服务治理的方式进行管理,并支持持续集成和持续交付(CICD )。项目同时包含指标采集、监控和告警系统,确保了项目的稳定性和性能。通过学习这个项目,您将深刻理解如何应对电商领域的挑战,优化核心业务流程,并提高代码质量。最重要的是,您将获得一个完整电商项目的开发经验,从构思到实际运行,从 0 到 1 的全过程,助您更好地掌握电商项目的开发。
5.1.3 技术架构
- SpringCloud
- SpringCloud Alibaba Nacos服务注册中心/配置中心
- Spring Cloud GateWay 网关
- 整合Spring Security & OAuth2.0安全验证
- RocketMQ消息队列
- Seata分布式事务
- Spring Cloud Open Feign 服务调用(负载均衡)
- SpringCloud Alibaba Sentinel流量防护(轻量级、高性能,实时监控和控制面板)
- SkyWalking 链路追踪
- Elastic Search近实时搜索引擎(业务搜索,日志搜索)
- Canal数据同步( MySql->es )
- XXL-Job 分布式任务调度
- Redis Cluster缓存
- Redisson 基于redis的分布式锁
- Mysql 数据库
- jeepay支付聚合平台
5.2 飞滴出行网约车项目
5.2.1 项目介绍
飞滴出行网约车项目旨在创建一全面的网约车服务平台,以满足乘客、司机和BOSS的需求。该项目将包含用户登录 / 注册、计价、派单、支付、灰度发布、网关服务、分布式事务和分布式锁等多个关键领域。开发和部署将遵循一系列阶段,包括项目启动、人员安排、需求分析、设计和进阶阶段。该项目将会从零开始讲解项目开发过程,包括数据库表字段创建、代码编写,以及设计思路,系统部署和性能优化方面。通过该项目我们将会学到分布式系统和高可用性服务相关经验。
5.2.2 项目优势
该项目以分布式架构为基础,系统划分为接口层、能力层、基础层和公共模块,以提高可维护性和可扩展性。它引入了精心设计的异常处理机制,确保了系统的稳定性,并对 Eureka注册中心进行了优化,包括自我保护、三级缓存和 CAP 方面的优化。在业务领域,项目深入涵盖网约车核心业务,如计价、派单、司机听单、支付等,通过时序图和类图的设计,清晰展示系统的架构。在架构方面,该项目牵涉分布式事务处理、分布式锁和网关服务等关键内容,进一步提升了平台的可用性和可维护性。通过学习该项目,我们将掌握实际应用中分布式架构的实施技巧和架构设计的要点。
5.2.3 项目架构
- 服务拆分和分层设计:Spring Cloud
- 接口层设计:Spring Cloud Alibaba Nacos服务注册中心/配置中心
- 异常处理:无明显的技术要点。
- 网约车业务架构图:无明显的技术要点。
- 注册中心搭建:Eureka
- 灰度发布:蓝绿发布、滚动发布、A/B测试、灰度发布
- 网关灰度发布:Spring Cloud GateWay 网关
- 网关zuul的原理介绍:Spring Cloud GateWay 网关、Zuul
- 网关动态路由:Spring Cloud GateWay 网关
- 网关限流:Spring Cloud Alibaba Sentinel流量防护
- 分布式事务:Seata
- 消息队列:RocketMQ
- 分布式锁:Redisson、Redlock
- 数据同步:Canal
- 分布式任务调度:XXL-Job
- 缓存:Redis Cluster
- 搜索引擎:Elastic Search
- 支付平台:jeepay支付聚合平台
- 链路追踪:SkyWalking
- 可靠消息服务:RocketMQ 事务消息方案
5.3 从0到1手敲代码实现商城
5.3.1 项目介绍
"从 0 到 1 手敲代码实现商城 " 项目旨在通过实际动手开发一个完整的电商平台,提供深入的学习经验和实际项目开发技能。该项目采用了现代的微服务架构,致力于电商核心模块,包括商品管理、交易处理、用户认证、购物车、订单管理等多个关键领域。项目的理念在于帮助开发人员理解电商业务的复杂性,提供高质量的代码示例以及开发流程。通过从零开始手写成千上万行的代码,提升微服务架构和编程技能。
5.3.2 项目优势
该项目采用了现代微服务架构,将电商核心领域分解为多个模块,有助于项目的扩展和维护,项目深入涵盖了电商核心业务流程,包括商品管理、购物车、订单处理等,使学习者能够全面理解电商领域的复杂性。此外,项目注重高质量的代码编写,通过从零开始手写代码并遵循开发规范,强调代码质量的重要性。项目还提供了 CICD 支持,有助于学习者了解现代软件开发的最佳实践。最重要的是,项目将学习者带入了一个完整的电商项目开发经验,从构思到实际部署,覆盖了企业复杂项目开发的整个流程。
5.3.3 技术架构
- Spring Boot:项目的后端基于Spring Boot框架搭建,提供了快速开发和部署的能力。
- Spring Cloud Alibaba:项目中使用Nacos作为服务注册和配置中心,Seata实现分布式事务,Sentinel进行流量控制和保护。
- MyBatis Plus:用于数据库访问和操作,简化了持久层的开发。
- MySQL:作为项目的主要数据库存储数据。
- Redis:用于缓存数据,提高系统性能。
- ElasticSearch:实现业务搜索和日志搜索功能,提供强大的全文搜索能力。
- SkyWalking:用于链路追踪和性能监控,帮助发现性能问题。
- RocketMQ:作为消息队列,支持异步消息传递和事件驱动。
- Vue.js + Element UI:项目的前端采用Vue.js框架和Element UI库,实现了用户界面的构建和交互。
- Nginx:作为反向代理服务器,用于负载均衡、静态资源缓存和安全控制。
- Docker:项目使用Docker容器化应用,实现了跨环境的一致性和可移植性。
- JMeter:用于性能测试,确保系统在高并发情况下的稳定性。
- 阿里对象存储OSS:用于文件和对象存储,如图片、视频等数据。
5.4 烽火云短信平台
5.4.1 项目介绍
烽火云短信平台项目是基于 SpringCloudAlibaba、RabbitMQ、Elasticsearch和Redis构建,致力于提供卓越的短信通信解决方案。该项目的系统结构分为多个关键模块,包括接口模块、策略模块、搜索模块、推送模块、短信网关模块、监控模块和后台管理模块,该项目核心业务在于对接运营商的PAAS系统,提供了发送短信的接口,并提供对数据统计等功能,并对外提供接口,在接口内做校验和运营商进行对接,确保系统高效运行。该项目从底层环境搭建到高级策略制定提供了全方位的解决方案,以满足广泛的通信需求。
5.4.2 项目优势
烽火云短信平台是一个集创新技术、智能策略、全面监控和权限控制于一身的高度智能短信通信解决方案,满足广泛的通信需求,确保了高效、安全的消息传递。在系统结构层面,该项目涉及底层环境搭建、接口模块的多层校验、策略模块的智能决策、搜索模块的高效检索、推送模块的可靠消息重试、短信网关模块的运营商对接、监控模块的实时调度任务,以及后台管理模块的权限控制等内容;技术层面采用 SpringCloudAlibaba、Redis、Docker、Nacos、RabbitMQ、Elasticsearch,以及Shiro权限控制等技术,通过该项目学习会对提升对微服务架构理解、复杂系统设计、策略制定、监控管理和权限控制等方面的实践能力。
5.4.3 技术架构
- SpringCloudAlibaba:用于微服务架构的核心框架,包括服务注册与发现、负载均衡、配置管理等功能。
- RabbitMQ:解决异步消息传递和解耦各个模块之间的通信。
- Elasticsearch:用于文本搜索和数据分析的分布式搜索引擎,支持高效的数据检索。
- Redis:用于缓存和数据存储,提高系统的响应速度和性能。
- Docker:容器化技术,构建、部署和管理应用程序容器。
- MySQL:关系型数据库管理系统,用于数据持久化存储。
- Nacos:服务发现和配置管理平台,用于微服务的注册、发现和配置。
- Jenkins:自动化构建和持续集成工具,用于自动构建和部署应用程序。
- xxl-job:分布式任务调度平台,用于管理和调度定时任务。
- Shiro:安全框架,用于身份验证、授权和权限管理。
- MyBatis Generator:用于自动生成数据访问层的代码。
- IK分词器:Elasticsearch的中文分词器,用于中文文本的分词。
- CMPP:短信网关协议,用于与运营商进行短信通信。
- Hutool:Java工具库,提供了多种实用工具和功能。
- Kapxcha:验证码生成库,用于生成图形验证码。
5.5 星城货运管理系统
5.5.1 项目介绍
"星城货运管理系统"旨在为国际物流代理商提供综合管理业务的解决方案。该项目核心功能涵盖了角色管理、统计报表、基础资料、运单管理、财务管理以及系统管理模块,客户可以通过订单ID或物流单号轻松查询订单状态,确保了业务操作的迅速可行性,为用户提供全面、高效的货运管理体验。
5.5.2 项目优势
该项目强调实际操作和实际应用,项目从零开始,通过手把手的指导,使开发者能够亲自编写代码,贴近实战,确保所学的技能能够直接应用于工作中。项目着重于提高可扩展性,使开发者能够适应未来需求的变化,并照顾了技术基础相对薄弱的开发者。
5.5.3 技术架构
- Spring
- SpringMVC
- MyBatis
- Shiro
- Maven
- Jsp
- MySQL
5.6 英雄传说多人在线网游服务器后端
5.6.1 项目介绍
"英雄传说多人在线网游服务器后端"项目是一款基于欧美卡通风格的MMORPG游戏,其技术架构起源于国内知名网页游戏《回到三国志》。《回到三国志》在腾讯应用中心上线,并成功实现每月2000万流水,奠定了坚实的基础。"英雄传说"在此基础上进行了大规模的升级和优化,涵盖了前端和后端技术以及功能的改进,以提供更出色的游戏体验。
5.6.2 项目优势
该项目在前端方面,采用了 Cocos2D技术,支持Html5、Android和iOS多平台导出,同时所有动画效果采用Spine骨骼动画技术,提供了生动而流畅的游戏体验。后端方面,采用了Netty网络通信框架,支持多种通信方式,包括Http、Socket和WebSocket,确保了游戏的稳定性和可扩展性。此外,项目还引入了Google Protobuf来处理消息数据,实现了帧同步和状态同步混合,通过动态生成字节码提高性能,实时排行榜、在线Bug修复、数据库压力分流等创新性功能,以及ELK技术来进行日志收集和分析。此外项目中自动化多机部署通过Jenkins和Ansible实现,减少了人工干预,提高了部署效率和可靠性。这些特点使得"英雄传说多人在线网游服务器后端"项目在性能、可维护性和用户满意度方面表现卓越。
5.6.3 项目架构
- RPC
- Netty+Roactor
- Protobuf协议
- 代码重构
- 反射
- ORM(对象关系映射)原理
- 阻塞队列(LinkedBlockingQueue,BlockingQueue)
- 异步调用
- Redis
- RocketMQ消息队列
- Ansible自动化部署
- Jenkins自动化部署
- Filebeat + Elasticsearch + Kibana
5.7 大型医疗挂号微服务“马上好医”医疗项目
5.7.1 项目介绍
“马上好医”即为网上医疗预约挂号系统,首先,由于互联网的发展,衍生出非常多的便民医疗服务的需求,而网上预约挂号则是其中一个便民需求,我们能够通过网上预约挂号服务,随时随地查询医院是否有号,让患者不一定要去到医院就可以提前进行挂号服务,提前就可以选择医生,并且网上预约挂号系统从技术实现上不难,可以让各位学员以最精简的业务理解微服务项目的业务以及清楚为什么需要微服务架构设计。
5.7.2 项目优势
- 性能 :主要考虑访问频率,每个用户每天的访问次数。项目初始阶段用户的访问量并不大,如果考虑做运营推广,可能会迎来服务器访问量骤增,因此要考虑分布式部署,引入缓存
- 可扩展性 :系统功能会随着用户量的增加以及多变的互联网用户需求不断地扩展,因此考虑到系统的可扩展性的要求需要使用微服务架构,引入消息中间件
- 高可用:系统一旦宕机,将会带来不可挽回的损失,因此必须做负载均衡,甚至是异地多活这类复杂的方案。如果数据丢失,修复将会非常麻烦,只能靠人工逐条修复,这个很难接受,因此需要考虑存储高可靠。我们需要考虑多种异常情况:机器故障、机房故障,针对机器故障,我们需要设计 MySQL 同机房主备方案;针对机房故障,我们需要设计 MySQL 跨机房同步方案。
- 安全性 :系统的信息有一定的隐私性,例如用户的个人身份信息,不包含强隐私(例如玉照、情感)的信息,因此使用账号密码管理、数据库访问权限控制即可。
- 成本 :视频类网站的主要成本在于服务器成本、流量成本、存储成本、流媒体研发成本,中小型公司可以考虑使用云服务器和云服务。
5.7.3 项目架构
由于项目是医疗挂号项目,所以对于一致性的要求比可用性要求高很多,所以整个项目的体系会采用Spring Cloud Alibaba体系,而非奈飞体系,因为阿里体系的项目比较在考虑一致性的情况下还会考虑可用性,并且组件方面整体采用偏向阿里体系组件,因为兼容性会比较好一点。并且项目重点在于微服务架构风格。
- SpringBoot
- SpringCloud Hoxton.SR8:微服务基础设施 - 服务注册、服务发现、服务熔断、微服务网关、配置中心等
- SpringCloud Alibaba
- MyBatis Plus:持久层框架和代码生成器
- Lombok:简化实体类开发
- Swagger2:Api接口文档生成工具/apidoc
- Logback:日志系统
- Spring Data Redis:Spring项目中访问Redis缓存 / 项目中会对于Redis的使用进行再封装
- OpenFegin: 基于Http协议的客户端,用来实现远程调用
- xxl-job:定时任务
- MySQL:关系型数据库
- Redis:缓存技术
- RedisDesktopManager
- RocketMQ:消息中间件
- 短信网关
- 分布式文件存储
- Node.js
- ES6
- axios:一个发送Ajax请求的工具
- Vue.js:web 界面的渐进式框架
- Element-UI:前端组件库
- NPM:模块资源管理器
- vue-element-admin:基于Vue.js的后台管理系统UI集成方案
- NuxtJS:基于Vue.js构建的服务器端渲染应用的轻量级框架
5.8 电商日志分析和数据挖掘综合项目
5.8.1 项目介绍
"大型电商日志离线分析系统"项目旨在充分利用现代大数据技术来处理电子商务网站的访问日志,为电子商务网站管理者提供决策支持,以指导网站运营并提高核心竞争力。通过综合性的技术架构,项目涵盖了数据采集、预处理、分析算法实施和数据可视化等多个关键环节,业务涉及商家排名、历史订单查询、订单报表统计、pv、uv、跳出率、二跳率、广告转化率等方面。该项目综合性的数据处理流程架构能够支撑处理大规模数据,实现数据指标分析,并支持各种复杂分析需求。
5.8.2 项目优势
本项目涉及CDH、flume、sqoop、HDFS、Mapreduce、hive、hbase、zookeeper、mysql、oozie等技术。通过以上技术项目实现了日志收集、自定义函数、Hive与HBase的整合、IP流量分析、会话分析、浏览器PV分析、地域信息分析、订单分析、事件分析等功能,这些功能为电子商务网站提供了全方位的决策支持,在应对日益增长的互联网数据和竞争激烈的市场中具有重要的商业价值。
5.8.3 技术架构
- Web项目和大数据项目的整合
- Flume通过avro实时收集web项目中的日志
- 数据的ETL
- Hive 批量sql执行
- Hive 自定义函数
- Hive和hbase整合
- Hbase 数据支持sql查询分析
- Mapreduce数据挖掘
- Hbase dao处理
- Sqoop 在项目中的使用。
- Mapreduce定时调用和监控
- Flume通过avro实时收集web项目中的日志
- Hive批量sql执行
- Hive自定义函数
- HBase数据支持sql查询分析
- MapReduce数据挖掘
- Mapreduce定时调用和监控
- IP流量分析
- 会话分析
- 浏览器pv分析
- 地域信息分析
- 订单分析
- 事件分析
5.9 音乐数据中心数仓综合项目
5.9.1 项目介绍
音乐数据中心数仓综合项目主要是针对音乐设备公司过去收集到的用户扫码、浏览、登录、登出、点播、购买音乐套餐、下载音乐等数据(包括业务数据与用户行为数据),构建数据中心,将数据集中到数据仓库中,通过分层分析,获取用户活跃、机器营收、机器分布、歌手热度、歌曲点播热度等指标,为高层和 web开发人员提供数据结果以供战略决策和业务结果呈现,为公司业务更健康的发展提供BI商业决策。
5.9.2 项目优势
本项目涉及技术点非常多,包括 CDH 、 flume 、 sqoop 、 HDFS 、 Spark 、SparkStreaming、 hive 、 hbase 、 zookeeper 、 mysql 、 yarn 、 superset 、 kylin、Kafka 等技术栈。该项目内容 从数据库范式入手,涉及到范式建模、 ER实体关系模型、数据仓库发展历史、维度建模、数据仓库高效分层设计、数据仓库命名规范、数据仓库技术选型、数据采集、数据ETL、数据存储、数据挖掘分析、数据可视化、流式开发等方法论及技术要点,帮助你快速针对自己公司业务场景构建有价值、高效的数仓架构。
5.9.3 技术架构
- HDFS分布式数据存储
- Hive 数仓构建
- SparkSQL数据分析
- Kylin数据预计算
- Sqoop数据采集
- CM集群管理平台
- SpringBoot接口
- Supserset可视化
- 歌曲歌手分析
- 机器主题分析
- 用户主题分析
- 商户主题分析
- 公司营收分析
5.10 实时交通监控平台项目
5.10.1 项目介绍
项目是面向公安交警行业的智能交通管控指挥平台系统,旨在提高公安交通管理工作的科学化、现代化水平,缓解警力不足,加强和保障道路交通的安全、有序和畅通。项目目标是通过整合各类交通监控设备和数据,建立一个统一的数据采集和交换标准,实现全盘考虑面向交警交通行业的智能交通管控指挥平台系统,以提高交通监视、警卫、应急事件处理、违章行为处理、事故和事件预警等能力,从而改善交通状况和维护道路安全。
5.10.2 项目优势
本项目涉及到的技术栈 :Springboot、MySQL、Kafka、Flink、HDFS、HBase、Redis、Clickhouse、Superset。通过以上技术栈该项目实现了从接口数据采集、数据交换、实时数据分析到实时数据分析结果保存,业务涉及多个功能模块,如天网搜车、智能研判、缉查布控、统计分析等,项目涉及从需求到代码完整落地整个过程,通过该项目学习会对数据整合、实时监控、实时数据处理等技术应用有较大提升。
5.10.3 技术架构
- Kafka分布式消息系统
- Flink实时分析引擎
- Lambaa架构设计
- Redis缓存设计
- Druid结果存储
- Supsert可视化展示
- 天网搜车
- 智能研判
- 稽查布控
- 统计分析
5.11 基于Kappa架构的实时数仓综合平台
5.11.1 项目介绍
纵观大数据数仓发展,从离线数仓架构到 Lambda架构、Kappa架构数仓的发展,目前批流一体的实时数仓是很过公司发展的一个方向,本项目基于音乐网站用户的登录日志数据(包含登录登出、点播歌曲、点击广告等事件)和业务库数据(包含机器基础信息数据、机器订单数据、商户信息等数据)构建批流一体实时数仓,本项目将从0到1手把手带大家通过Flink实现基于Kafka+ClickHouse的实时数仓,其中技术涉及到目前企业中使用到的各大最新技术。在项目中我们还会给大家讲解实时数仓未来的发展方向,给各从业小伙伴打下坚实的基础。
5.11.2 项目优势
本项目涉及技术栈包括: SpringBoot、MySQL、Maxwell、Flume、Kafka、Flink、HBase、Phoenix、Kafka、Clickhouse、可视化等技术。 全方位无死角的学习实时数仓如何在企业真正落地实战。在此实时数仓项目中会带领大家手把手敲出每个业务代码,这些业务包含:歌曲实时任务、歌手实时任务、用户分布情况、机器实时位置信息、商户实时营收等,同时手把手教大家如何针对实时场景进行架构设计,如何开发接口数据及如何可视化展示结果数据。通过此项目,大家对于实时数仓整体构建思路理解和实战上 ”更上一层楼“。
5.11.3 技术架构
- Maxwell数据采集
- Kafka数据分层设计
- Redis数据缓存
- Phoenix假设查询
- HBase维度层设计
- Flink实时计算
- ClickHouse存储
- TCV可视化大屏BI展示
- SpringBoot接口
- 实时热度分析模块
- 实时用户分析模块
- 实时营收分析模块
5.12 湖仓一体电商数据分析平台
5.12.1 项目介绍
目前很多互联网公司处理公司海量数据都采用湖仓一体的架构技术设计方案,比如阿里、腾讯、百度、小米等,在数据智能时代,湖仓一体成为企业构建大数据栈的必选项,湖仓一体架构设计方案替换传统独立的数据仓库设计方案已经成为不可逆转的趋势。在数据分析领域,湖仓一体是未来,可以很好的应对当下时代数据离线和实时分析的需求,更适合数据量规模大的公司现状。
湖仓一体电商数据分析平台从 Lambda架构、Kappa架构数仓的发展为出发点,详细阐述了目前湖仓一体构建数据分析平台方案设计优点与落地方案。本项目是基于东宝商城电商项目的电商数据分析平台,在技术方面涉及大数据技术组件搭建,湖仓一体分层数仓设计、实时到离线数据指标分析及数据大屏可视化,项目所用到的技术组件都从基础搭建开始,目的在于湖仓一体架构中数据仓库与数据湖融合打通,实现企业级项目离线与实时数据指标分析。在业务方面涉及到会员主题与商品主题,分析指标有用户实时登录信息分析、实时浏览pv/uv分析、实时商品浏览信息分析、用户积分指标分析等内容,其中技术涉及到Iceberg数据湖、Maxwell、Flink、Phoenix、ClickHouse等技术内容点。在项目中还会给大家讲解湖仓一体设计方式以及湖仓设计中的优化点,给各从业小伙伴打下坚实的基础。
5.12.2 项目优势
本项目涉及技术栈包括: SpringBoot、MySQL、Maxwell、Flume、Kafka、iceberg、Flink、HBase、Phoenix、Kafka、Clickhouse、可视化等技术。项目采用湖仓一体架构设计方案,从数据采集、湖仓构建、指标分析到接口数据可视化,整个流程 手把手敲出每个业务代码,同时还会手把手教大家如何在湖仓一体架构中针对实时场景、离线场景进行分析,项目执行过程中优化处理、如何进行数据发布及数据可视化等重点内容。
5.12.3 技术架构
- Flume实时数据采集
- Maxwell/Flink CDC业务数据采集
- 基于Kafka载体的湖仓一体架构设计
- 基于数据湖Iceberg 湖仓构建
- Phoenix+HBase设计存储维度数据
- Flink实时与离线数据分析
- Redis数据缓存计算
- Clickhouse OLAP分析引擎实时指标分析
- SpringBoot接口
- 可视化技术
- 用户实时登录信息分析
- 用户实时浏览pv、uv指标分析
- 实时浏览商品信息分析
- 会员积分实时指标统计分析
5.13 商品推荐系统综合项目
5.13.1 项目介绍
基于互联网的电子商务发展日新月异,为用户提供的商品日益多样化,给用户带来丰富选择的同时,也出现了信息过载现象。如何在众多的商品中给用户展现其感兴趣的商品,提升用户体验,提高网站商品的销售转化成为一个挑战,本推荐系统项目 以解决信息过载问题,提升用户体验,增加商品销量,售卖更多样化的商品为目标, 立足于一个真实的电子商务环境,结合过往推荐算法设计和推荐系统、实践的经验,融入企业自身的一些特点 实现商业目标的商品推荐。
5.13.2 项目优势
本项目基于 Lambda架构的离线与实时计算框架对用户行为数据、业务数据进行采集构建用户画像与商品画像,使用相关推荐算法预测用于与商品之间的关系,为用户进行更加智能的商品推荐。项目中涉及全量、增量业务数据同步、离线用户与商品画像、在线实时召回及热门召回计算,通过Dubbo对外提供推荐服务。整个推荐服务涉及业务库、日志系统数据采集同步、Hive数仓用户画像构建、算法特征工程、离线模型训练、实时模型应用推荐等内容,从0到1完整落地推荐系统。
5.13.3 技术架构
- MySQL业务数据存储
- Sqoop数据同步
- Flume 采集日志数据
- Kafka 消息队列
- SparkStreaming数据分析
- HDFS模型数据存储
- Hive SQL数据分析
- SparkMLLib机器学习
- Hbase特征存储
- TextRank算法
- TF-IDF算法
- 特征工程
- 推荐算法
- 召回策略
- 模型训练及评估
- 排序模型
- Redis缓存
- Dubbo推荐服务
6. 企业级架构师成长班
6.1 课程介绍
为满足学员每晚固定时间的学习需求,形成良好的学习习惯,提供一个循环的直播班来满足学员的学习需求:
- 直播时间晚上8点至10点,每周2到4节课。
- 直播一期大致控制在一个季度,原则上不超过4个月,讲完接着循环迭代更新。
- 提取Java后端开发的核心与重点技术来讲解。
- 陪伴式学习,包括课前复习,课后作业等。
6.2 直播核心内容
7. 实战级面试突击班
7.1 课程介绍
为满足学员的面试冲刺要求,在Java程序员就业的旺季(每年的3,4月以及9,10月),以直播课的形式给同学带来面试突击的课程,提升就业竞争力:
- 直播时间晚上8点至10点,每周2 到4节课。
- 金三银四面试突击2月开始4月结束,金九银十面试突击8月开始10月结束
- 课程技术点来自于近几年高频面试题以及热点技术问题