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