如何处理大流量高并发
1.動靜分離。
將網站中的靜態資源單獨拆分出來, 比如 css, js, 圖片, 視頻資源單獨存儲在一臺服務器上, 或者直接使用云存儲平臺, 七牛云或者阿里云之類的, 這樣能有效的降低主服務器的運行壓力
2.CDN加速。
云平臺提供 CDN 加速, 可以對資源進行全國服務器節點的分發, 提高全國各地的訪問速度。
3.反向代理,負載均衡。
反向代理就是將用戶的請求, 分發到不同的 web 服務器上, 進行處理, 降低單臺服務器的壓力, 負載均衡則是根據 web 服務器的性能進行請求的分配, 負載較小的多分配一些請求, 負載較大的小分配一下請求. nginx 就可以實現反向代理和負載均衡。
4.使用數據緩存。
數據緩存可以使用 memcache 和 redis 這樣的內存緩存系統來實現, 將一些常用數據寫入到內存中, 從而提升響應的速度。
5.數據庫優化。
分庫分表,主從復制讀寫分離,中文分詞。
6.壓縮合并js? ?css。
過多的 js 和 css 請求會消耗服務器的資源. 可以借助前端工具 webpack 來進行打包。
7.分布式集群搭建。
將業務拆分到不同的服務器下, 降低單臺服務器壓力.例如用戶和商品功能拆分開。
8.頁面靜態化。
頁面靜態化其實是緩存的一種實現, 將要返回的 HTML 內容預先寫入到一個文件中, 訪問的時候可以直接返回該文件中的內容。
9.防止外部盜鏈。
盜鏈是其他網站引用當前服務器的資源, 比如css, js 和圖片,主要是圖片. 可以使用 refer 進行限制。
10.使用消息隊列。
將請求的內容壓入到隊列中, 用另外的腳本異步處理請求, Redis 的列表結構就可以實現這個效果。
轉載于:https://www.cnblogs.com/wwlong/p/10187211.html
總結
以上是生活随笔為你收集整理的如何处理大流量高并发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习笔记(6) 线性回归
- 下一篇: [数学]点、线、面分割问题