高并发Web网站构建-徐汉彬
浏览器并发连接数
一次HTTP通信
TCP三次握手
(保持连接)
请求数据/响应数据
(达到超时条件)
TCP四次断开
短连接,长连接Keep-alive
==================
Apache
apachctl -v 版本
Prefock模式
多进程
成熟文档,允许线程不安全
进程比较重,消耗太多内存
Woker模式
多进程和多线程
线程为主
占用内存少
需要支持线程安全,线程崩溃问题
Event模式
同Worker模式
解决Keep-alive资源浪费问题
使用条件
Apache 2.4.10
Epoll支持
===================
Nginx
建议配置进程数跟CPU核数一样
CDN
每个地区一个节点,发布源分发
推荐Web服务架构
Nginx/LVS — Web服务器集群—redis缓存(热点数据)—数据库存储
静态文件CDN
========================
高并发下的QPS的真实情况
CPU繁忙
内存爆满,引起swap
后端服务异常
高并发下的保护措施
设置合理进程/线程数(防止过载)
设置合理的超时时间(各个环节)
如果发生Web服务“雪崩”:不要直接重启,先切流量(404页面)
Web服务安全防护
XSS:输入可以执行代码
防御方法 : 过滤
CSRF防御:引诱用户点击“特殊链接”
判断HTTP_REFERCES
TOKEN校验
SQL注入
Shell注入
高并发业务安全
队列思路 one by one
悲观锁
乐观锁,带版本号
推荐Redis乐观锁
watch //监听key的版本号
电商秒杀
NOSQL
node.js并发性能
本文深入探讨了构建高并发Web网站的关键技术,包括浏览器并发连接数管理、服务器Apache与Nginx的选择与配置,以及CDN在优化分布上的应用。同时,文章强调了Web服务架构的设计,如Nginx与Web服务器集群的结合,并讨论了如何通过合理的进程/线程数设置、超时时间调整等措施来保护服务免受过载威胁。此外,针对高并发下的安全挑战,如XSS攻击、CSRF防御和SQL注入防范,提出了具体的应对策略。

被折叠的 条评论
为什么被折叠?



