版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/75455465
背景
近期,在为自己进行充电,想到将一些认为有价值的干货文章进行一下收录整理,主要目的在于自己的浏览备份,也为了给予原创作者的尊重,仅展示核心的部分信息,希望能给看到此文的 IT 猿媛们一点正确引导.
分类
- 仅是个人认为值得涉猎、充电的重点内容
(1).秒杀系统
①.秒杀系统设计中的业务性思考
秒杀系统只允许接受同一个账户的1个请求,其他请求统统过滤掉。在程序入口加锁,同一个账户,同一时刻只有一个线程在被处理。不仅解决了同一个账号,发送多个请求的问题,还保证了后续的逻辑流程的安全,确保了只有一个线程能更新账户的状态。
②.谈谈秒杀系统的落地方案
- 秒杀系统要解决的技术挑战
- 短时间内的超高访问量对后台服务的冲击。秒杀期间,来自外部请求产生的QPS会是平时的10~100倍。
- 数据库的读写压力陡增。大量的并发写,会造成数据库的行锁处于无法释放的状态,大量的线程排队进而造成服务请求超时失败。
- 网络带宽资源会因为秒杀被大量占据掉。假设秒杀页面的大小为150K,如果最大并发连接数为20000,那么应用服务器至少需要支持的带宽>3G。
③.秒杀系统设计中的数据处理
- 通过CDN,把大量静态不需要检验的数据放在系统之外的地方;减少不必要的流量到服务器端。
- 预加载用户静态信息,在前端读系统中检验一些基本信息,如用户是否具有秒杀资格、商品状态是否正常、秒杀是否已经结束等;过滤大量无效请求。
- 在写数据系统中再校验一些如是否是非法请求,写的数据一致性如检查库存是否充足等;
- 最后在数据库层保证数据最终准确性,避免超卖。
(2).网络协议
- IP协议的概念与作用
- TCP协议的概念与作用
- TCP协议的三次握手过程
- DNS的概念与作用
- HTTP与TCP、IP和DNS的关系
(3).Redis
(4).安全
1.浅谈php安全