【完结23章】新版Springboot3.0打造能落地的高并发仿12306售票系统(附word文档)
时间:2023-06-16
大小:2.78KB
阅读数:585
查看他发布的资源
资料介绍
分享课程——《新版Springboot3.0打造能落地的高并发仿12306售票系统》,23章完整版,2023年6月完结,提供源码和配word文档下载
第1章 课程介绍与学习指南
第2章 12306这个系统架构到底有多牛?
第3章 最新版的SpringBoot3&JDK9~17新特性详解
第4章 新版Spring Cloud Alibaba与Springbooot搭建后端架构
第5章 使用Vue3 + Vue CLI 实现系统前端模块的搭建
第6章 实现JWT单点登录功能
第7章 12306系统会员基础功能的实现
第8章 自制前后端代码生成器提高开发效率
第9章 利用代码生成器快速实现火车基础数据的维护
第10章 使用调度框架quartz,为12306系统增加定时调度功能
第11章 通过火车基础数据生成每日火车数据
第12章 基本的车票预定功能开发
第13章 集成注册中心与配置中心组件Nacos(动态修改线上的配置)
第14章 高性能余票查询的实现(前端缓存&本地缓存&分布式缓存)
第15章 集成分布式事务组件Seata(解决分布式系统中的数据一致性问题)
第16章 高并发抢票时,利用各种锁解决车票超卖问题(JDK锁&分布式锁&看门狗设计&红锁)
第17章 高并发抢票时,使用Sentinal组件进行请求限流降级(过滤90%的无效请求)
第18章 高并发抢票时,防止机器人刷票的令牌大闸,可减轻服务器的压力(防刷+限流)
第19章 利用流行的MQ组件对请求做削峰处理,解决吞吐量问题(实现最短时间内给用户反馈)
第20章 压力测试-高并发优化前后的性能对比(单机性能提升25倍左右)
第21章 企业级项目上云(阿里云部署)
第22章 项目优化
第23章 课程总结
源码+word文档
《新版Springboot3.0打造能落地的高并发仿12306售票系统》课程以极佳的案例场景,手把手带你学会落地高并发整体解决方案
——>从0到1落地
整体项目架构
三端分离,易于分配不同资源微服
务组件,保证服务的高可用功能拆
分,实现服务间低耦合、高内聚提
升系统性能,保障服务高性能响应
——>学会高并发
高性能场景解决方案
学会对并发请求做削峰处理,解决吞
吐量问题,掌握使用限流、令牌大
闸、发放令牌、分布式锁、分布式缓
存等十几种技术解决多种高并发问题
——>综合提升
高并发技术实战能力
高并发秒杀技术应用落地,集成第三方
组件做多场景问题处理 ,掌 握 新 版
Springboot及Spring Cloud Alibaba
的综合运用等
大型分布式架构设计,从0到1手把手带你落地整体项目架构——>千万级、业务复杂度极高项目架构拆解,提升各种高并发、高性能架构设计能力
使用三端分离,会员端、控台端、服务端,便于开发和维护,同时将界面与功能逻辑分开,易于分配不同的资源。
使用微服务生态组件:注册中心、配置中心、网关、限流降级、分布式事务、服务调用,保障服务高可用。
将系统功能拆分成多个微服务应用,实现服务间低耦合,服务内功能高内聚。
使用Redis、MQ等中间件,提升系统性能,保障服务高性能响应。
自制代码生成器,一分钟完成单表增删改查(含界面)功能,极大的提高开发效率。
正常项目中,跑批的核心功能,都应该在batch模块里执行,也就是说得在batch模块里,重新生成一遍train相关表的持久层,正常项目就应该这样做,让业务模块和跑批完全隔离开,不至于因为跑批性能差而影响了业务的开展。
本项目因为是演示项目,就不花这个时间做重复生成持久层了,直接调用business接口,刚好可以学习微服务的服务间调用组件feign(openfeign)
Feign是Netflix公司开发的一个声明式的 REST 调用客户端,SpringCloud的早期,就是将各种第三方组件,整合到SpringBoot项目里,形成了SpringCloud,现在慢慢的把第三方组件替换成自研的组件,比如gateway组件OpenFeign是在Feign的基础上,增加SpringMVC注解,让代码写起来像在写Controller使用spring.application.name可以给各应用起一个名字,方便应用之间互相认识,在注册中心、配置中心、路由、服务调用、限流等微服务组件中,都会用到。
// seat可选,当无选座时,seat为空
[{
passengerId: 123,
passengerType: "1",
seatTypeCode: "1",
passengerName: "张三",
passengerIdCard: "12323132132",
seat: "C1"
}, {
passengerId: 123,
passengerType: "1",
seatTypeCode: "1",
passengerName: "李四",
passengerIdCard: "12323132132",
seat: "D2"
}]
// 0:不支持选座;1:选一等座;2:选二等座
const chooseSeatType = ref(0);
// 选择的座位
// {
// A1: false, C1: true,D1: false, F1: false,
// A2: false, C2: false,D2: true, F2: false
// }
const chooseSeatObj = ref({});
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或
联系我们 删除。