高并发架构-发现热点

高并发项目通常是javaWeb 项目中ToC 场景,例如常见的秒杀,抢票。
从项目开发到上线,整个项目周期都需要关注热点数据,准去的预测和监控热点数据可以帮助开发更好的实现系统。
这篇文章从小处入手,浅析高并发的架构设计。

一、 什么是热点

热点分为热点操作和热点数据。

1.1热点操作

所谓“热点操作”,例如大量的刷新页面、大量的添加购物车、双十一零点大量的下单等都属于此类操作。对系统来说,这些操作可以抽象为“读请求”和“写请求”,这两种热点请求的处理方式大相径庭(差不多),读请求的优化空间要大一些,而写请求的瓶颈一般都在存储层,优化的思路就是根据 CAP 理论做平衡。

1.2 热点数据

而“热点数据”比较好理解,那就是用户的热点请求对应的数据。而热点数据又分为“静态热点数据”和“动态热点数据”。

静态热点数据

所谓“静态热点数据”,就是能够提前预测的热点数据。例如,我们可以通过卖家报名的方式提前筛选出来,通过报名系统对这些热点商品进行打标。另外,我们还可以通过大数据分析来提前发现热点商品,比如我们分析历史成交记录、用户的购物车记录,来发现哪些商品可能更热门、更好卖,这些都是可以提前分析出来的热点。

动态热点数据

所谓“动态热点数据”,就是不能被提前预测到的,系统在运行过程中临时产生的热点。例如,卖家在抖音上做了广告,然后商品一下就火了,导致它在短时间内被大量购买。

二、发现热点

架构通常是分层和异构的,我们利用Linux 、jvm 或者mysql的监控工具 通常可以准确的定位热点操作

2.1 nginx 日志分析

nginx 日志中包含请求路径,可以通过命令分析 热点请求路径:

cat log_file|awk '{print $11}'|sort|uniq -c|sort -nr | head -10

cat log_file|awk '{print $11}'|sort|uniq -c|sort -nr|head -20

awk '{print $1}' log_file |sort -n -r |uniq -c | sort -n -r | head -20 

如果使用阿里云服务器,其访问入口自带热点分析功能。

或者使用工具搭建一套日志分析服务

在这里插入图片描述

GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值