README.md 7.4 KB
Newer Older
Q
标头  
qiurunze 已提交
1
![互联网 Java 秒杀系统设计与架构](https://raw.githubusercontent.com/qiurunze123/imageall/master/miaoshashejitu.png)
J
init  
jay1991115@126.com 已提交
2

Q
qiurunze 已提交
3
> 邮箱 : [QiuRunZe_key@163.com](QiuRunZe_key@163.com)
J
init  
jay1991115@126.com 已提交
4

Q
qiurunze 已提交
5
> Github : [https://github.com/qiurunze123](https://github.com/qiurunze123)
J
init  
jay1991115@126.com 已提交
6

Q
qiurunze 已提交
7
> QQ : [3341386488](3341386488)
J
init  
jay1991115@126.com 已提交
8

Q
提交  
qiurunze 已提交
9 10 11 12
> QQ群 :

![整体流程](https://raw.githubusercontent.com/qiurunze123/imageall/master/qq.png)

Q
qiurunze 已提交
13 14


Q
标头  
qiurunze 已提交
15
[![Travis](https://img.shields.io/badge/language-Java-yellow.svg)](https://github.com/qiurunze123)
Q
提交  
qiurunze 已提交
16 17
高并发大流量如何进行秒杀架构,我对这部分知识做了一个系统的整理,写了一套系统。本GitHub还有许多其他的知识,随时欢迎探讨与骚扰!本文还在更新如果文章出现瑕疵请及时与我联系!

Q
qiurunze 已提交
18
文章还有许多不足,我仍在不断改进!如果你本地没有这些环境,可以先找我要我的阿里云地址,看效果! ps: 本文章基础思路来自于若鱼1919老师!大家可以关注老师的课和博客很不错,老师很nice! 谢谢大家 !课程地址:https://coding.imooc.com/class/168.html
J
init  
jay1991115@126.com 已提交
19

Q
qiurunze 已提交
20
一点小建议:学习本系列知识之前,如果你完全没接触过 `MQ``SpringBoot``Redis``Dubbo``ZK``Maven`,`lua`等,那么我建议你可以先在网上搜一下每一块知识的快速入门,
Q
qiurunze 已提交
21
也可以下载本项目边做边学习,我的项目完全是实战加讲解不想写一堆的文章,浪费我们的生命,你还不懂内层含义,想要明白就边实际操作边学习,效果会更好!加油💪💪
J
init  
jay1991115@126.com 已提交
22

Q
qiurunze 已提交
23
### 最近正在进行dubbo+zk 登录与下单等 设计方式 + 业务逻辑 全面修改 有可能会出现下载后启动错误 最初版本请下载 (https://pan.baidu.com/s/1sld8RBSvLe2q4gc-Z-fVAQ)
Q
qiurunze 已提交
24
### 如果想先看dubbo + zk 了解请下载we-miaosha ,miaosha-order  为项目分离示例项目!会不断完善!此版本为springboot2.0+ 请使JDK1.8+
Q
提交  
qiurunze 已提交
25
### 秒杀高并发架构 -- 架构图 
J
init  
jay1991115@126.com 已提交
26

Q
qiurunze123 已提交
27 28
> 软件环境 : 请选择稳定版 

Q
qiurunze 已提交
29
![整体流程](https://raw.githubusercontent.com/qiurunze123/imageall/master/miaosha.png)
J
init  
jay1991115@126.com 已提交
30

Q
qiurunze123 已提交
31
> 未来设计图 : 未来设计
Q
qiurunze123 已提交
32

Q
future  
qiurunze 已提交
33
![整体流程](https://raw.githubusercontent.com/qiurunze123/imageall/master/miaoshafuture.png)
Q
qiurunze123 已提交
34

Q
qiurunze 已提交
35 36
> 软件环境 : mysql 数据库表设计

Q
qiurunze 已提交
37 38
![整体流程](https://raw.githubusercontent.com/qiurunze123/imageall/master/miaoshasql.png)

Q
qiurunze 已提交
39 40
>1.需注意 因为秒杀,大促,打折等活动进行频繁,所以需要单独建立秒杀_....表来管理否则会经常进行回归

Q
qiurunze 已提交
41
>2.本sql只是进行模拟,现实情况比这个信息要复杂的多,你可以把它看作是一个简化版本的sql
Q
qiurunze 已提交
42 43 44

>3.详情请看miaosha.sql

Q
qiurunze 已提交
45 46
>4.访问地址 http://localhost:8080/login/to_login

Q
提交  
qiurunze 已提交
47
###  以下所有内容都已完成,但是因内容多需逐渐整理上传! 专题的部分也会尽快上传更新! 立个flag 半年内吧争取全部更新完!各位稍安勿躁! 
Q
qiurunze123 已提交
48

Q
qiurunze 已提交
49
###  [如要提交代码请先看--提交合并代码规范提交者的后面都会有署名方便大家问问题](/docs/code-criterion.md)
Q
qiurunze123 已提交
50

Q
qiurunze 已提交
51 52 53
| ID | Problem  | Article | 
| --- | ---   | :--- |
| 000 |如何解决卖超问题 | [解决思路](/docs/code-solve.md) |
Q
qiurunze 已提交
54
| 001 |如何对本项目进行jmeter压测 | [解决思路](/docs/jemter-solve.md) |
Q
提交  
qiurunze 已提交
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| 003 |全局异常处理拦截 |[解决思路](/docs/code-solve.md)  |
| 003 |页面级缓存thymeleafViewResolver |[解决思路](/docs/code-solve.md)  |
| 004 |对象级缓存redis🙋🐓 |[解决思路](/docs/code-solve.md)  |
| 005 |订单处理队列rabbitmq |[解决思路](/docs/code-solve.md)  |
| 006 |解决分布式session |[解决思路](/docs/code-solve.md)  |
| 007 |秒杀安全 -- 安全性设计 |[解决思路](/docs/code-solve.md)  |
| 008 |通用缓存key的封装采用什么设计模式 |[解决思路](/docs/code-solve.md)  |
| 009 |redis的库存如何与数据库的库存保持一致 |[解决思路](/docs/code-solve.md)  |
| 010 |为什么redis数量会减少为负数 |[解决思路](/docs/code-solve.md)  |
| 011 |为什么要单独维护一个秒杀结束标志 |[解决思路](/docs/code-solve.md)  |
| 012 |rabbitmq如何做到消息不重复不丢失即使服务器重启 |[解决思路](/docs/code-solve.md)  |
| 013 |为什么threadlocal存储user对象,原理 |[解决思路](/docs/code-solve.md)  |
| 014 |maven 隔离 |[解决思路](/docs/code-solve.md)  |
| 015 |服务降级--服务熔断(过载保护)(未更新)) |[解决思路](/docs/code-solve.md)  |
| 016 |redis 分布式锁实现方法 |[解决思路](/docs/code-solve.md)  |
| 017 |定时关单模拟与分布式锁(未更新文章--代码已更新) |[解决思路](/docs/time-close.md)  |
| 018 |tomcat配置和优化  |[解决思路]((/docs/tomcat-good.md))  |
Q
qiurunze 已提交
72
| 018 |tomcat集群配置 |[解决思路](/docs/tomcat-group.md)  |
Q
提交  
qiurunze 已提交
73
| 020 |Nginx优化(前端缓存) |[解决思路](/docs/ngnix-good.md)  |
Q
qiurunze 已提交
74
| 021 |重点  *** RPC分布式补偿如何解决(已更新 两种写法) |[解决思路](/docs/code-rpc.md)   |
Q
qiurunze 已提交
75
| 022 |分布式事物解决方案(已更新 -- 最新的思路和写法) |[解决思路](/docs/code-rpc.md)   |
Q
提交  
qiurunze 已提交
76 77 78 79
| 023 |mysql主从复制思路及实操(未更新代码) |[解决思路](/docs/mysql-master-slave.md)   |
| 024 |如何进行分库分表 |[解决思路](/docs/mysql-master-slave.md)   |
| 025 |秒杀类似场景sql的写法注意事项有哪些?|[解决思路](/docs/mysql-master-slave.md)   |
| 026 |如何利用lua脚本进行操作限流与分布式锁(可保证原子性)?|[解决思路](/docs/redis-good.md)   |
Q
qiurunze 已提交
80
| 027 |如何利用lua脚本进行分布式锁操作?|[解决思路](/docs/redis-good.md)   |
Q
qiurunze 已提交
81
| 028 |网站访问统计实现?|[解决思路](/docs/code-solve.md)   |
Q
qiurunze 已提交
82
| 028 |项目进行dubbo + zk 改造 (已完成dubbo嵌入--springboot 与dubbo结合xml版本)?|[解决思路](/docs/code-solve.md)   |
Q
qiurunze 已提交
83
| 029 |dubbo客户端 dubbo-admin管理平台 搭建安装|[解决思路](/docs/dubbo-admin.md)   |
Q
qiurunze 已提交
84
| 030 |如何利用dubbo 的mock 来进行服务降级本地伪装 ?? (有更好的方式进群@我)|[解决思路](/docs/dubbo-zk.md)   |
Q
qiurunze 已提交
85
| 031 |*** 如何利用lua + redis  取代 nigix + lua 脚本进行分布式限流 (请看miaosha-2version) ? *** |[解决思路](/docs/redis-good.md)   |
Q
qiurunze 已提交
86
| 032 |多数据源配置 如何进行多数据源配置 |[解决思路](/docs/code-solve.md)   |
Q
qiurunze 已提交
87

Q
qiurunze 已提交
88

Q
qiurunze123 已提交
89
#### [分布式系统发展历程(已更新)](/docs/fenbushi.md)
Q
qiurunze123 已提交
90
#### [生产环境内存调优](/docs/jvm-goods.md)
Q
qiurunze123 已提交
91
#### [mybatis源码解析与使用--未更新](/docs/mybatis-code.md)
Q
提交  
qiurunze 已提交
92
#### [redis 使用与进阶以及如何进行集群--已更新](/docs/redis-good.md)
Q
qiurunze123 已提交
93
#### [spring源码--未更新](/docs/redis-code.md)
Q
qiurunze 已提交
94
#### [分布式治理框架-dubbo - zk - 解析--更新中](/docs/dubbo-zk.md)
Q
qiurunze123 已提交
95 96
#### [通信mq-Kafka--未更新](/docs/redis-code.md)
#### [微服务框架--未更新](/docs/redis-code.md)
Q
qiurunze123 已提交
97
-------------------------------------------------|
Q
qiurunze123 已提交
98
#### [mysql数据库优化及架构学习](/docs/mysql.md)
Q
提交  
qiurunze 已提交
99
#####     [mysql数据库设计规范(已更新)](/docs/mysql.md)
Q
提交  
qiurunze 已提交
100
#####     [mysql数据库设计实例(已更新)](/docs/mysql-1.md)
Q
提交  
qiurunze 已提交
101
#####     [mysql数据库执行计划分析(已更新)](/docs/mysql-2.md)
Q
提交  
qiurunze 已提交
102 103
#####     [mysql数据库备份和恢复(已更新)](/docs/mysql-3.md)
#####     [mysql数据库架构变迁(已更新)](/docs/mysql-3.md)
Q
qiurunze123 已提交
104
--------------------------------------------------|
Q
qiurunze123 已提交
105
#### [netty专题(已更新 by liuxiangyu)](/docs/netty.md)
Q
qiurunze 已提交
106
#### [linux专题](/docs/linux.md)
Q
qiurunze 已提交
107
#### [面试专题(最后更新)--未更新](/docs/code-solve.md)
Q
qiurunze 已提交
108

Q
提交  
qiurunze 已提交
109
###### [maven-wrapper介绍(add by zhangkai)](/docs/maven-wrapper.md)
Q
qiurunze 已提交
110