模拟情景:
类似京东618秒杀活动,数据库中(mysql)只有一条数据,然后有5万并发量,页面要保证正常显示。

问题一:不用redis等分布式框架,就用传统的方法如何解决?如何保证数据库的稳定?

  1. 页面商品剩余数量的准确性
    剩余数量的查询属于QPS,而且你这里假设只有一行数据,所以一台数据就算5W并发,查询再快,传输也有极限,而且这个假设在实际情况中几乎不存在只需要考虑数据库里面只有1行数据的并发,如果要提升mysql的查并发,可以多搞几台read从库,提供更多的查询性能,允许一部分实际的查询不精确,但是在下单写入的时候,确保TPS无误差
  2. 页面访问的流畅性
    前提有几个,1:公司的带宽足够,2:问题1解决,3,在前台加一个nginx反向代理,把流量打到足够多的服务上去,把流量硬吃下来
  3. 商品交易数据的安全性
    这个不属于性能问题的范畴,就算没有性能问题,也需要考虑逻辑上的安全性
  4. 防止数据库崩溃
    如果不用redis,你需要估算出你每一台服务器大致能接受多少个并发,你的逻辑层的服务器有多少台(就是第2步里说的,被反向代理的服务器有多少台),你需要自己评估,然后再在内存里写一个linkedblockingqueue,设置,当这个queue接受的请求太多时,直接拒绝请求,提示稍后再试
  5. 用户参与后反馈的及时性
    一般情况下,反馈及时性一点都不重要,如果有消息队列,就按照能处理的上限来处理好了,但是数据库最好分开,别用同一个mysql

问题二:使用redis等分布式框架如何解决呢?

  1. 页面商品剩余数量的准确性
    用简单的方式,可以写个job,去写商品的库存,轮询的固定时间更新一下,从数据库里读内容。剩余数量没必要那么实时,一点必要都没有。或者在订单购买成功时候,再触发一下更新redis库存,秒杀情况下,update会非常频繁,所以不如轮询的每几秒更新一下来的划算
  2. 页面访问的流畅性
    这点和不用redis的时候做法类似,只是在查询的时候,不是读mysql从库了,是读redis
  3. 商品交易数据的安全性
    略…
  4. 防止数据库崩溃
    这里和上面比,需要额外考虑的不仅仅是数据库崩溃,还得考虑redis不可用,最好的方案是你redis做高可用,如果redis不可用时,你加上了跳过redis,查询数据库的逻辑,则数据库崩的可能更快
  5. 用户参与后反馈的及时性
    略…

原文出处:http://bbs.csdn.net/topics/392183576?page=1

如何解决5万的并发量相关推荐

  1. 如何解决1万个并发连接,用每个客户一个线程的方法

    原文链接:http://stackoverflow.com/questions/17593699/tcp-ip-solving-the-c10k-with-the-thread-per-client- ...

  2. 阿里云云盾抗下全球最大DDoS攻击(5亿次请求,95万QPS HTTPS CC攻击) ,阿里百万级QPS资源调度系统,一般的服务器qps多少? QPS/TPS/并发量/系统吞吐量...

    阿里云云盾抗下全球最大DDoS攻击(5亿次请求,95万QPS HTTPS CC攻击) 作者:用户 来源:互联网 时间:2016-03-30 13:32:40 安全流量事件https互联网资源 摘要:  ...

  3. 搞懂分布式技术30:高并发解决方案——提升高并发量服务器性能解决思路

    高并发解决方案--提升高并发量服务器性能解决思路 一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很 ...

  4. MySQL单机并发量_mysql百万并发量-MySQL集群能支持100万个并发请求吗

    当然支持100万并发. 首先,我们必须做出决定,把阅读和写作分开. 然后,它取决于你需要分配多少个单元用于写作和阅读. 我的SQL集群不建议您使用它,因为有太多的错误. 所有这些都需要先进行压力测试. ...

  5. nginx下载限速,解决下载并发量大导致带宽占满

    nginx下载限速,解决下载并发量大导致带宽占满 原因:文件服务和业务服务在同一台机器上,下载病区视频导致带宽被占满(97M/100M) 解决方式:现在单个请求的带宽 修改nginx配置文件nginx ...

  6. 【万级并发】电商库存扣减如何设计?不超卖!

    随着中国消费认知的不断升级,网购走近千家万户,越来越被人们所接受.淘宝.唯品会.考拉.京东.拼多多等逐渐成为我们生活的重要组成部分. 除了常规的购物下单外,这些电商平台还经常搞一些双十一活动,秒杀.大 ...

  7. tomcat 默认150连接数怎么支持几万大并发的?集群?

    刷脉脉看到这个问题,不错的问题值得讨论. 之前做过高并发场景下的网关应用,也针对于jetty.netty.jvm进行过参数配置与调优,对于下面几个同学的讨论分析下. 程序猿关平 怎么可能150连接数, ...

  8. 电商项目的并发量一般是多少_掌握这些,高并发秒杀系统就不用担心了!

    很多小伙伴反馈说,高并发专题学了那么久,但是,在真正做项目时,仍然不知道如何下手处理高并发业务场景! 图片来自 Pexels 甚至很多小伙伴仍然停留在只是简单的提供接口(CRUD)阶段,不知道学习的并 ...

  9. mysql并发量_高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

    推荐阅读: 学会这些微服务+Tomcat+NGINX+MySQL+Redis,再去面试阿里P7岗吧 "火爆"的微服务架构你还不会?从基础到原理的PDF文档快来学! Nginx负载均 ...

最新文章

  1. s()++php,jquery siblings()函数正确用法
  2. leetcode算法题--石子游戏
  3. 【Sprint3冲刺之前】TD学生助手测试用例
  4. 我的创业分享 之 不要轻易选择创业
  5. 基于Visual Studio2010与.NET 4.0--多显示器支持使开发效率事半功倍
  6. 【Java语法】关于使用new和不使用new的数组值传递还是引用传递的问题
  7. 牛客网知识点总结(二
  8. boost正则表达式库简单介绍
  9. Python装饰器、metaclass、abc模块学习笔记
  10. please verify the preference field with the prompt:Tomcat JDK name
  11. 计算机相关专业EI及SCI国际会议及期刊汇总
  12. 数据聚合技术Aggregation
  13. 盘点世界十大软件外包公司排名是哪些公司
  14. Linux下minicom配置
  15. 论文阅读笔记:(2022) Delving into the Devils of Bird‘s-eye-view Perception: A Review, Evaluation and Recipe
  16. Android manifest文件中的标签详细介绍
  17. Scala核心编程 第六章—Scala面向对象编程(一)
  18. NRF52832学习笔记(19)——TWI(I2C)接口使用
  19. Leetcode.1223 掷骰子模拟
  20. 单招面试你为什么报考计算机专业,单招面试问题你为什么选择我们学校

热门文章

  1. Facebook 开源微光效果 Shimmer
  2. 注册一家互联网公司基本流程
  3. C语言通过for循环控制计时,C语言中关于时间的函数
  4. Python到底该怎么学
  5. java 大臣的旅费_蓝桥杯 大臣的旅费(Java dfs)
  6. Java中实现十进制数转换为二进制的几种办法
  7. 本文将要讨论Objective-C中的方法替换(method replacement)和swizzling(移魂大法)。
  8. 幼儿园早期阅读活动的现状及问题研究
  9. 什么是大数据可视化,有什么作用?
  10. 遥感影像基于样本的面向对象分类方法