zoukankan      html  css  js  c++  java
  • 高并发业务

    一. 秒杀下订单

    A:准备工作

    1. 系统最好独立部署

    2. 做好系统性能容量规划(预计访问量)(7折计算),系统优化,容灾过载保护

    3. 做好系统的拆分,比如,按功能模块,按实时/非实时、按动态/静态等等

    4. 设置定时上架的时间

    5. 服务器时钟同步

    6. 动态生成下单页面的URL

    B:前端页面

    1. 静态页面+Ajax来获取动态内容,比如:实时库存、活动状态、当前时间等

    2. 做好CDN部署

    3. 静态页面和资源的缓存

    4. js对请求的过滤,比如:获取校验码、时间到了或者售完自动结束等

    C:web端

    1. F5/LVS +Nginx来接收高并发的请求,并做负载均衡

    2. Nginx+Lua(脚本)+Redis来做请求队列,并实现一些基本控制(Lua),比如:限流、账号参加次数检查、同一个ip请求数检查等

    3. Varnish来缓存静态页面和静态资源

    4. 进入Tomcat集群,先做一个预处理,就是判断这些账户是否能参与活动,比如:账号等级是否足够、账号行为是否正常、是否在黑名单上等

    D:逻辑层

    1. 按照redis的请求队列进行先后处理

    2. 纯内存操作+异步

    3. 控制超卖

    4. Redis里面存放着SKU的库存数据

    5. 处理成功的信息

    E:其他

    1. 合理设计接口

    2. 考虑业务规则,比如减库存的时机

    3. 服务器尽量做集群,并做HA,避免雪崩()

    4. 缓存服务器如果要重启,要做预热()

    5. 对抗作弊

  • 相关阅读:
    让应用通过苹果审核出人头地的10个方法
    正则表达式练习 Regex Golf
    Cocos2d-iOS入门知识详解
    Linux C++/Java/Web/OC Socket网络编程
    JAVA-API Dom4J解析xml/OPML & Rome解析RSS & QRCode编码解码
    李开复:做技术还是管理?
    水两道搜索
    利用HttpClient4进行网络通讯
    hdu5698 百度之星2016round2b第3题
    百度之星2016资格赛D,水题
  • 原文地址:https://www.cnblogs.com/an5211/p/7421738.html
Copyright © 2011-2022 走看看