Giter Club home page Giter Club logo

miaosha's Introduction

Java秒杀系统高性能高并发实战项目

本项目从零实现了一个秒杀系统的一些核心功能。

通过本项目能够学习如何应对大并发、如何利用缓存、如何使用异步、以及如何编写优雅的代码

关于项目的具体实现步骤、实现细节、问题总结,请移步:详情

技术点介绍

前端 后端 中间件
Thymeleaf SpringBoot RabbitMQ
Bootstrap JSR303 Redis
JQuery MyBatis Druid

业务逻辑


项目结构设计及实现功能

1. 项目框架搭建

  • Spring Boot环境搭建

  • 集成Thymeleaf,Result结果封装

  • 集成Mybatis + Druid

  • 集成Jedis + Redis安装 + 通用缓存Key封装(设计模式中的模板模式

2. 实现登录功能

  • 数据库设计

  • 明文密码两次MD5处理

  • JSR303参数检验 + 全局异常处理器

  • 分布式Session(同步不同机器上的Session信息)

3. 实现秒杀功能

  • 数据库设计

  • 商品列表页

  • 商品详情页

  • 订单详情页

4. JMeter压测

  • JMeter入门

  • 自定义变量模拟多用户

  • JMeter命令行使用

  • Spring Boot打war包

5. 页面优化技术

  • 页面缓存 + URL缓存 + 对象缓存(粒度划分不同)

  • 页面静态化,前后端分离

  • 静态资源优化

  • CDN优化,就近访问

6. 接口优化

  • Redis预减库存减少数据库访问

  • 内存标记减少Redis访问

  • RabbitMQ队列缓冲,异步下单,增强用户体验

  • RabbitMQ安装与Spring Boot集成

  • 访问Nginx水平扩展

  • 压测

7. 安全优化

  • 秒杀接口地址隐藏

  • 数学公式验证码

  • 接口限流防刷


效果展示

  1. 登录界面

  2. 商品列表页

  3. 商品详情页

  4. 订单详情页

miaosha's People

Contributors

yeefine avatar

Stargazers

Cumt-Seu avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.