没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
如何设计一个秒杀系统 系统的特点 高效:秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键 一致性:秒杀商品减库存的实现方式同样关键,有限数量的商品在同一时刻被很多倍的请求同时来减库存,在大并发更新的过程中都要保证数据的准确性。 高可用:秒杀时会在一瞬间涌入大量的流量,为了避免系统停机机,保证高可用,需要做好流量限制 优化思路 初步优化:将请求阻止拦截在系统上游 假设现在库存为10,有1000个购买请求,最终只有10个可以成功,99%的请求都是无效请求 削峰:秒杀请求在时间上高度集中于某一个时间点,瞬时流量容易压停机系统,因此需要对流量进行削峰处理,缓冲瞬时流量,尽量让服务器对资源进行平缓处理 初步:将同步请求转换为异步请求,来提高并发量,本质也是削峰处理 利用缓存:创建订单时,每次都需要先查询判断库存,只有少部分成功的请求才会创建订单,因此可以将商品信息放在缓存中,减少数据库查询 负载均衡:利用Nginx等价使用多个服务器并发处理请求,减少多个服务器压力 前端优化: 限流:前端答题或验证码,来分散用户的请求 禁止重复提交:限定每个用户发起一次秒杀后,需等待才可以发起另一次请
资源推荐
资源详情
资源评论
收起资源包目录
seconds-kill:基于Springboot + Redis + Kafka的秒杀系统,乐观锁+缓存+限流+异步,TPS从500优化到3000 (119个子文件)
mvnw.cmd 6KB
.gitattributes 66B
.gitignore 485B
secondkill.log.2019-06-10.0.gz 3KB
seconds-kill.iml 10KB
OrderServiceImpl.java 6KB
IndexController.java 5KB
MavenWrapperDownloader.java 5KB
RedisPoolUtil.java 3KB
SecondsKillApplicationTests.java 2KB
StockWithRedis.java 2KB
RedisPreheatRunner.java 2KB
RedisLimit.java 1KB
RedisPool.java 1KB
ConsumerListen.java 1KB
StockMapper.java 1KB
StockServiceImpl.java 1KB
OrderService.java 1KB
SecondsKillApplication.java 1014B
ScriptUtil.java 937B
StockService.java 738B
StockOrderMapper.java 727B
RedisKeysConstant.java 429B
StockOrder.java 310B
Stock.java 310B
LICENSE 1KB
limit.lua 771B
README.md 27KB
mvnw 9KB
application.properties 948B
maven-wrapper.properties 116B
workspace.xml 72KB
a2fed71b-6822-4e41-a514-8ab1d04ff389.xml 37KB
uiDesigner.xml 9KB
Project_Default.xml 9KB
pom.xml 3KB
dataSources.xml 888B
dataSources.local.xml 807B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_7_RELEASE.xml 757B
Maven__org_springframework_boot_spring_boot_starter_logging_1_5_7_RELEASE.xml 736B
Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_7_RELEASE.xml 729B
Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_7_RELEASE.xml 722B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_1_1.xml 718B
Maven__org_springframework_boot_spring_boot_starter_test_1_5_7_RELEASE.xml 715B
Maven__org_springframework_boot_spring_boot_starter_jdbc_1_5_7_RELEASE.xml 715B
Maven__org_springframework_boot_spring_boot_starter_web_1_5_7_RELEASE.xml 708B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 688B
Maven__org_springframework_spring_context_support_4_3_11_RELEASE.xml 688B
Maven__org_springframework_data_spring_data_keyvalue_1_2_7_RELEASE.xml 687B
Maven__org_springframework_data_spring_data_commons_1_13_7_RELEASE.xml 687B
Maven__org_springframework_boot_spring_boot_starter_1_5_7_RELEASE.xml 680B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_1_1.xml 676B
Maven__org_springframework_data_spring_data_redis_1_8_7_RELEASE.xml 666B
Maven__org_springframework_boot_spring_boot_test_1_5_7_RELEASE.xml 659B
Maven__org_springframework_spring_expression_4_3_11_RELEASE.xml 653B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_20.xml 648B
Maven__org_springframework_spring_messaging_4_3_11_RELEASE.xml 646B
compiler.xml 636B
Maven__org_springframework_retry_spring_retry_1_2_1_RELEASE.xml 635B
Maven__org_springframework_kafka_spring_kafka_1_1_6_RELEASE.xml 635B
Maven__org_springframework_spring_context_4_3_11_RELEASE.xml 632B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml 632B
Maven__org_springframework_spring_webmvc_4_3_11_RELEASE.xml 625B
Maven__org_springframework_boot_spring_boot_1_5_7_RELEASE.xml 624B
Maven__org_hibernate_hibernate_validator_5_3_5_Final.xml 622B
Maven__org_springframework_spring_beans_4_3_11_RELEASE.xml 618B
Maven__com_fasterxml_jackson_core_jackson_databind_2_8_10.xml 618B
Maven__com_alibaba_druid_spring_boot_starter_1_1_0.xml 614B
Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_20.xml 613B
Maven__org_springframework_spring_test_4_3_11_RELEASE.xml 611B
Maven__org_springframework_spring_core_4_3_11_RELEASE.xml 611B
Maven__org_springframework_spring_jdbc_4_3_11_RELEASE.xml 611B
Maven__org_springframework_spring_aop_4_3_11_RELEASE.xml 604B
Maven__org_springframework_spring_web_4_3_11_RELEASE.xml 604B
Maven__org_springframework_spring_oxm_4_3_11_RELEASE.xml 604B
Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_20.xml 599B
Maven__javax_validation_validation_api_1_1_0_Final.xml 599B
Maven__org_springframework_spring_tx_4_3_11_RELEASE.xml 597B
Maven__org_jboss_logging_jboss_logging_3_3_1_Final.xml 596B
Maven__com_fasterxml_jackson_core_jackson_core_2_8_10.xml 590B
Maven__org_apache_kafka_kafka_clients_0_10_1_1.xml 571B
Maven__mysql_mysql_connector_java_5_1_44.xml 562B
Maven__org_apache_commons_commons_pool2_2_4_2.xml 558B
Maven__ch_qos_logback_logback_classic_1_2_3.xml 556B
Maven__org_xerial_snappy_snappy_java_1_1_2_6.xml 554B
Maven__org_slf4j_log4j_over_slf4j_1_7_25.xml 550B
Maven__org_apache_tomcat_tomcat_juli_8_5_20.xml 547B
Maven__org_apache_tomcat_tomcat_jdbc_8_5_20.xml 547B
Maven__ch_qos_logback_logback_core_1_1_11.xml 542B
Maven__org_hamcrest_hamcrest_library_1_3.xml 541B
Maven__org_mybatis_mybatis_spring_1_3_0.xml 537B
Maven__org_mockito_mockito_core_1_10_19.xml 537B
Maven__org_slf4j_jcl_over_slf4j_1_7_25.xml 536B
Maven__com_jayway_jsonpath_json_path_2_2_0.xml 534B
Maven__net_minidev_accessors_smart_1_1.xml 530B
Maven__org_skyscreamer_jsonassert_1_4_0.xml 525B
Maven__org_assertj_assertj_core_2_6_0.xml 523B
Maven__org_slf4j_jul_to_slf4j_1_7_25.xml 522B
Maven__org_hamcrest_hamcrest_core_1_3.xml 520B
Maven__org_projectlombok_lombok_1_16_18.xml 519B
共 119 条
- 1
- 2
资源评论
- 「已注销」2022-09-06兄弟没数据库啊,其他都可以
林海靖
- 粉丝: 68
- 资源: 4726
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【java毕业设计】客户关系管理系统源码(ssm+mysql+说明文档).zip
- 【java毕业设计】酒店客房预定管理系统源码(ssm+mysql+说明文档+LW).zip
- 【java毕业设计】教师业务数据统计与分析系统源码(ssm+mysql+说明文档).zip
- cp105b,cp205,cp205w,cp215,cp215w寿命重置工具,解决091-402
- 【java毕业设计】健身房管理系统源码(ssm+mysql+说明文档).zip
- py test for self
- ui-auto test for self
- 【java毕业设计】基于推荐算法的图书购物网站源码(ssm+mysql+说明文档+LW).zip
- appium test for self
- 【java毕业设计】基于数据元标准的教材征订管理系统源码(ssm+mysql+说明文档).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功