高併發學習

2021-07-10 19:53:20 字數 782 閱讀 1674

前端:非同步請求+資源靜態化+cdn

後端:請求佇列+輪詢分發+負載均衡+共享快取

資料層:redis快取+資料分表+寫佇列

儲存:raid陣列+熱備

網路:dns輪詢+ddos攻擊防護

對於高併發並沒有什麼通用解決方案,必須根據業務場景進行分析,不同的業務場景對於架構的取捨是不一樣的.但萬變不離其宗,掌握這些處理高併發的分析方法還是很有必要的.

如何學習高併發的工具?

處理高併發的開源輪子其實很多.很多高併發的架構分享都會提及使用的工具,自己多留心,再看看手冊,有條件自己搭起來跑一跑.

redis,nginx/tengine,keeplive,drbd,heartbeat這些小工具還是可以在虛擬機器上面多開幾台跑起來的.至於大業務場景,除了進大公司沒有別的辦法,因為有些工具執行的配置要求太高,必須多台伺服器配合才能完成.

如何模擬高併發場景?

並不是只有實際生產環境才能測試高併發,其實模擬高併發的輪子也很多,最常用的apache benchmark,winrunner,loadrunner,這些教程很多,用來模擬基本的高併發業務綽綽有餘,自己安裝試用版,學學如何用,模擬些常用的業務.

如果有精力,業內很喜歡用perl,python,c來寫一些針對熱點業務的負載指令碼.這需要有http協議等網路封包的理論基礎.

一些建議

處理高併發要學習的東西實在太多.要在沒有實際工作經驗的情況下逐一了解太難,也很難深入.對於高併發的學習,我建議除了多閱讀高併發架構的文件學習基本的方**以外,自己要去深入學習網路基礎,資料結構和演算法.這些都是處理高併發熱點的理論基礎.

高併發 高可用

高併發 提高系統併發能力的方法主要有兩種 前者垂直擴充套件可以通過提公升單機硬體效能,或者提公升單機架構效能,來提高併發性,但單機效能總是有極限的,網際網路分布式架構設計高併發終極解決方案還是後者 水平擴充套件。網際網路分層架構中,各層次水平擴充套件的實踐又有所不同 1 反向 層可以通過 dns輪詢...

高併發 高併發測試筆記

問 高併發測試 一般你們用什麼工具來模擬 10萬級別的客戶端併發?在普通的電腦上可以模擬嗎 10萬併發需要至少10萬的套接字,套接字在核心中占用記憶體100000 6k 2 1g記憶體,系統需要能夠開啟10w個fd。一般的系統能夠能模擬 問 預設每個程序只能開1024個fd,修改後最大可以10w,那...

高併發學習(一) 概述

1 併發 同時擁有兩個或者多個執行緒。如果程式在單核處理器上執行,多個執行緒將交替地換入或者換出記憶體,這些執行緒同時 存在 的,每個執行緒都處於執行過程中的某個狀態。如果執行在多核處理器上,此時,程式中的每個執行緒將分配到乙個處理器核上,因此可以同時執行。2 高併發 high concurrenc...