qiurunze123 / miaosha Goto Github PK
View Code? Open in Web Editor NEW⭐⭐⭐⭐秒杀系统设计与实现.互联网工程师进阶与分析🙋🐓
⭐⭐⭐⭐秒杀系统设计与实现.互联网工程师进阶与分析🙋🐓
fork
(如果只打算运行,不打算新建自己的分支的不要fork
,直接进行步骤2)git clone
到本地idea
pom.xml
中加载依赖mysql
中新建miaosha
库miaosha
库运行miaosha.sql
redis
rabbitmq
rabbitmq
中添加miaoshatest
,miaosha.queue
队列mysql
、redis
、rabbitmq
的信息填入到src/main/resources/application.properties
中com.geekq.miaosha.GeekQMainApplication
http://localhost:8080/login/to_login
mysql miaosha
数据库中把miaosha_user
中id
字段改为自增
(默认的id为手机号,密码是123456加1a2b3c混淆)手机号
注册miaosha_good
中的start_time
和end_time
在知乎等更新了详细图文教程以及一系列本项目的详细解释 欢迎大家来探讨。
https://zhuanlan.zhihu.com/p/106343613
问一下,解决思路404是因为没有上传么
大佬,数据库现在在连不上了啊
源地址:看这里!
作者各种摧毁证据,简直无耻!开源并不意味着可以任由盗版!
do_miaosha方法共享localOverMap是不是有线程安全问题?
不知道是否可以更新下install 指南,方便走读代码
请问we-miaosha在哪里下载呢?
另外想问这个项目就是按问题顺序看吗?
墙裂推荐: Hostwinds+ssr
登录时调用的方法是getByNickName,实际上登陆使用的是id(也是用户的mobile),所以,这里需要改下
或者其他的 IM 邮件组, discord.com啥的
秒杀消息放到消息队列后到消息还未被消费这段时间前端是怎么处理的呢?一直轮询/miaosha/result 接口吗?如果不是 /miaosha/result这个接口是什么时候被调用的?
项目导入idea怎么启动,各模块继承关系希望补一下文档。
这个图里面https://raw.githubusercontent.com/qiurunze123/imageall/master/miaosha.png
应该是jmeter而不是jemter吧
test1
好多markdown文件中的图片都失效了,作者麻烦看一下
想问下博主如何解决的,能说下思路吗,现在我这边碰到问题是:先删除缓存在更新数据库,虽然采用的是用内存队列来存储读写请求,在用一个线程池去处理这个读写请求,虽然可以解决这个双写问题,但是它是单jvm的,如果多台服务器还是存在这个问题,想问下博主有什么好的方案吗,我想了用redis存储读写请求,但是集群条件下还是存在该问题,不知道博主是否遇到过,我看这个秒杀应该也有该问题
注册报错
maven仓库也找不到,啥情况?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!--注意增加这两行,在打包时相关的类会被独立打成jar -->
<attachClasses>true</attachClasses>
<classesClassifier>api</classesClassifier>
</configuration>
<version>2.4</version>
<executions>
</executions>
</plugin>
在miaosha-admin-web的pom将miaosha-admin-service的dependency改为:
<dependency>
<groupId>com.geekq</groupId>
<artifactId>miaosha-admin-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>jar</type>
<classifier>api</classifier>
</dependency>
create database miaosha2;
use miaosha2;
create table userinfo
(
id BIGINT auto_increment primary key,
version INTEGER,
bitState BIGINT,
realName varchar(200),
idNumber varchar(200),
phoneNumber varchar(200),
authScore int,
email varchar(200),
realauthId bigint
);
create table systemdictionary
(
id BIGINT primary key auto_increment,
sn varchar(200),
title varchar(200),
intro varchar(200)
);
create table systemdictionaryitem
(
id BIGINT auto_increment primary key,
parentId BIGINT,
title varchar(200),
tvalue varchar(200),
sequence TINYINT,
intro varchar(200)
);
create table orders
(
id varchar(200) primary key not null,
order_num varchar(200),
item_id varchar(200)
);
create table iplog
(
id BIGINT auto_increment primary key,
ip VARCHAR(200),
loginState TINYINT,
username VARCHAR(200),
loginInfoId BIGINT,
loginType TINYINT,
loginTime TIMESTAMP
);
create table account
(
id BIGINT primary key auto_increment,
tradePassword VARCHAR(200),
usableAmount DECIMAL,
freezedAmount DECIMAL,
borrowLimitAmount DECIMAL,
version INTEGER,
unReceiveInterest DECIMAL,
unReceivePrincipal DECIMAL,
unReturnAmount DECIMAL,
remainBorrowLimit DECIMAL,
abstractInfo varchar(200)
);
alter table userinfo
add incomeGrade_id bigint,
add marriage_id bigint,
add kidCount_id bigint,
add educationBackground_id bigint,
add houseCondition_id bigint;
....
....
PS: 这么多star,难道大家之star,不实际运行的吗?还是只有我遇到这种错误?
<dependency>salt
clone GitHub上的其他项目速度正常,本项目则速度骤降,一直维持在10几Kb的速度,请问其他人有遇到这样的吗?
秒杀 《系统设计与实现》@-@!
使用aop切面限制AccessLimit这个注解的作用对代码侵入更低啊
redis 预减成功,DB 扣除库存失败,会导致少卖,这对有的客户来说可能是不允许发生的,关于保证数据的一致性,有好的解决思路吗?
社招校招均有,BU囊括电商零售系统全链路,前端至交易、详情页,后端至仓储、履约,更有海外复杂场景等你实践,有意请邮件简历至 liuzhu.wlz#alibaba-inc.com
校招的潜力股,勇敢发来简历吧,会邀请进校招小群,定期分享写简历的技巧,更有优先面试的机会
这里是统计登陆访问的流量,在登陆逻辑使用Spring AOP切面,在登陆逻辑完成后 记录本次登陆的相关信息 这部分信息放入缓存,后续持久化
大佬,项目index.html hello.html login.html都登陆不了
关于tcc的相关jar包,在maven仓库中找不到对于的
1.在秒杀一类的场景里面,因为数据量亿万级所有即使有的有缓存有的时候也是扛不住的,不可避免的透穿到DB
所有在写一些sql的时候就要注意:
1.一定要避免全表扫描,如果扫一张大表的数据就会造成慢查询,导致数据的连接池直接塞满,导致事故
首先考虑在where和order by 设计的列上建立索引
例如: 1. where 子句中对字段进行 null 值判断 .
2. 应尽量避免在 where 子句中使用!=或<>操作符
3. 应尽量避免在 where 子句中使用 or 来连接条件
4. in 和 not in 也要慎用,否则会导致全表扫描
5. select id from t where name like '%abc%' 或者
6.select id from t where name like '%abc' 或者
7. 若要提高效率,可以考虑全文检索。
8.而select id from t where name like 'abc%' 才用到索引 慢查询一般在测试环境不容易复现
9.应尽量避免在 where 子句中对字段进行表达式操作 where num/2 num=100*2
2.合理的使用索引 索引并不是越多越好,使用不当会造成性能开销
3.尽量避免大事务操作,提高系统并发能力
4.尽量避免象客户端返回大量数据,如果返回则要考虑是否需求合理,实在不得已则需要在设计一波了!!!!!
哈哈哈哈
重新加源地址,看这里。拜托作者别再强行删除。GitHub 上都有记录。
别人辛辛苦苦整理的东西,你这样直接盗过来,合适吗,老哥?至少标明一下出处吧...
测试账号密码是多少?
还有登录注册验证码校验有个类型转换异常的bug
字节跳动教育线新项目,大投入,千亿级市场,服务端工程师大量缺口(客户端,前端也招),各级别都要。项目主要使用Golang/Python,但是语言不做要求,可以来了再学。研发直招渠道,快速反馈,支持年前面试(可以远程面试),年后报道,北京、上海都有HC。完整简历请投邮箱 [email protected]。邮件标题:在线教育+姓名
减少为负数可以理解,优化了内存写法和sql写法之后就不会了。。这里的优化具体是指啥优化哦(项目里面没注意到) redis减少为负数和sql有啥关系涅。。
rt
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.