![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
聚焦Java性能优化 打造亿级流量秒杀系统
Kensin_
中科院信工所在读,想变强的计算机渣硕一枚
展开
-
Java性能优化打造亿级流量秒杀系统:4.查询性能优化:多机缓存
4.查询性能优化:多机缓存 一、学习目标: 上一节通过服务器的水平扩展,将应用部署在多台机器上来处理请求极大地提升了TPS,但这多台数据库仍然使用同一台机器的数据库。 接下来将使用一些查询优化的技术,来完成商品详情页的查询优化解决方案。 掌握多级缓存的定义 掌握 redis缓存,本地缓存 掌握热点nginx lux缓存 二、缓存设计原则概览 缓存要使用快速存取设备,内存 将缓存推到离用户最近的地方,减少网络延时 脏缓存清理,数据库发生变更后,缓存中的旧数据就是 脏缓存 ,如何清理,清理策略 **原创 2020-08-14 17:58:11 · 513 阅读 · 0 评论 -
Java性能优化打造亿级流量秒杀系统:3.分布式拓展
3.分布式拓展 TPS:Transactions Per Second(每秒传输的事物处理个数) 一、Nginx反向代理负载均衡 单机存在容量问题,需要水平拓展至多机。 Nginx反向代理,可以将后端服务器集群,以一个统一的域名暴露出去,供用户来访问。 1.Nginx 可以做静态web服务器 可以做为动静分离服务器,将静态资源的请求直接处理,将动态的请求转发给相应后端服务,并以ajax的形式返回给前端,即 做反向代理服务器 2.架构图迭代: 3.压缩网络建连的消耗 在默认情况下,ngin原创 2020-08-14 17:51:38 · 375 阅读 · 0 评论 -
Java性能优化打造亿级流量秒杀系统:2.性能压测
2.性能压测 通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。 一、准备环境 安装CentOS 7.4 安装jdk 1.8 安装mysql yum install mysql* 安装mariadb(在centos上,mysql被mariadb替换了? 启动mariadb systemctl start mariadb.service就可以把mysql启动起来了。查看mysql是否启动了: ps -ef | grep mysql查看端口: netstat -an原创 2020-08-14 17:47:33 · 414 阅读 · 0 评论 -
Java性能优化打造亿级流量秒杀系统:1.基础项目
1.基础秒杀项目 一、整体架构 领域模型 就是专门负责某方面的业务的pojo,比如一个User,具有注册,使用,注销这样的一个生命周期。但关联到数据层可能是用户密码表、属性表等等多个数据库表。 贫血模式 就是不赋予领域模型方法,只给领域模型基本的属性和set get 方法,让其注册、注销等操作由service来完成。 相反的就是 充血模式,在领域模型中把具体操作方法全部写入。 领域模型 就是专门负责某方面的业务的pojo,比如一个User,具有注册,使用,注销这样的一个生命周期。但关联到数据层可原创 2020-08-14 17:38:59 · 562 阅读 · 0 评论 -
Java性能优化打造亿级流量秒杀系统:0.项目目标
Java性能优化打造亿级流量秒杀系统:0.项目目标 一、背景: 在抢购等场景下,服务会收到很大的流量请求。此时如果这些流量完全交由业务服务从数据库查询再去响应,具有两大弊端: 数据库连接过多导致崩溃 响应迟缓,影响用户体验 因此打算采用缓存的思路来应对大流量场景。缓存之处有两个, 一个是对页面的静态资源进行缓存,这样可以减轻主服务的压力。动态信息可以通过Ajax获取。 另一个是对数据库中部分数据进行缓存,减轻数据库压力,并且可以提高操作数据库的速度。 二、初步具体方案为: 使用Nginx进行反原创 2020-08-14 16:39:49 · 495 阅读 · 0 评论