Java性能优化打造亿级流量秒杀系统:0.项目目标

Java性能优化打造亿级流量秒杀系统:0.项目目标

一、背景:

在抢购等场景下,服务会收到很大的流量请求。此时如果这些流量完全交由业务服务从数据库查询再去响应,具有两大弊端:

  1. 数据库连接过多导致崩溃
  2. 响应迟缓,影响用户体验


因此打算采用缓存的思路来应对大流量场景。
缓存之处有两个,

  1. 一个是对页面的静态资源进行缓存,这样可以减轻主服务的压力。动态信息可以通过Ajax获取。
  2. 另一个是对数据库中部分数据进行缓存,减轻数据库压力,并且可以提高操作数据库的速度。

二、初步具体方案为:

  1. 使用Nginx进行反向代理与缓存静态资源
  2. 在数据库侧添加Redis,用于支持动态数据的获取

架构图如下:
image.png

考虑 Redis 的主从或者一致性Hash 算法做分片的 Redis 集群;使用缓存这种架­构要求应用对数据的一致性要求不是很高;比如像下订单这种要落地的数据不适合用 Redis 存储,但是订单的读取可以使用缓存。
https://wiki.jikexueyuan.com/project/nginx-lua/http.html

三、高级方案:

将单DB架构升级为Twemproxy组织Redis集群,Atlas组织Mysql集群。
image.png===>>>image.png

Ref: https://wiki.jikexueyuan.com/project/nginx-lua/http.html


四、学习抓手:

学习课程:《聚焦Java性能优化 打造亿级流量秒杀系统》
https://coding.imooc.com/class/338.html

五、参考资料:

  1. https://wiki.jikexueyuan.com/project/nginx-lua/http.html
  2. https://wiki.jikexueyuan.com/project/nginx-lua/product-details-page.html
  3. https://www.iteye.com/blog/jinnianshilongnian-2319573
  4. 亿级流量网站架构核心技术[b]
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值