處理高併發的思路整理

2021-12-30 07:10:54 字數 538 閱讀 3665

1.垂直分層:dns分層、跨機房部署lvs+nginx負載均衡,vanish+共享儲存實現動靜分離,nginx後掛載n態伺服器集群,伺服器集群後掛載服務化,微服務後掛載資料庫分庫分表+訊息佇列+任務排程,最後端掛載資料集群負責資料的統一歸檔+流計算+非同步批量處理

2.水平分割槽:根據業務劃分業務線,每個業務線中設計分割槽鍵,根據userno設計使用者隔離,根據ip位址設計地區隔離,根據使用者級別設計隔離級別,根據操作日期設計時間隔離,然後充分考慮擴容,監控,災備等

3.資料同步,跨機房跨集群的困難點在於資料同步,有三種做法

3.1不同步,任由各自集群在自己的業務範圍內執行

3.2彙總集群,建立乙個統一的資料彙總集群,如hadoop等,將資料彙總到統一的大資料集群中,在進行統計,運算等,缺點:會存在時間差

3.3遠端資料同步,通過開源框架,實現多個資料庫的同步,比如阿里的otter,模擬mysql的主從,實現日誌解析並資料庫入庫,時間差較短,網路沒有問題,可實現秒級資料同步

4.業務層面的redis快取,http快取,讀寫分離,在tcp層面做操作(斷路由,限流自動降級等等)

Go語言(Golang)高併發處理思路

go語言作為新興的語言,最近發展勢頭很是迅猛,其最大的特點就是原生支援併發。它使用的是 協程 goroutine 模型 和傳統基於 os 執行緒和程序實現不同,go語言的併發是基於使用者態的併發,這種併發方式就變得非常輕量,能夠輕鬆執行幾萬併發邏輯。go 的併發屬於 csp 併發模型的一種實現,cs...

高併發解決思路

今日看到一位大佬所寫的文章,感覺思路很清晰,所以記錄下來,以作後看。一 秒殺帶來了什麼?秒殺或搶購活動一般會經過 預約 搶訂單 支付 這3個大環節,而其中 搶訂單 這個環節是最考驗業務提供方的抗壓能力的。搶訂單環節一般會帶來2個問題 2 超賣 任何商品都會有數量上限,如何避免成功下訂單買到商品的人數...

高併發場景下快取處理思路總結

在實際的開發當中,我們經常需要進行磁碟資料的讀取和搜尋,因此經常會有出現從資料庫讀取資料的場景出現。但是當資料訪問量次數增大的時候,過多的磁碟讀取可能會最終成為整個系統的效能瓶頸,甚至是壓垮整個資料庫,導致系統卡死等嚴重問題。常規的應用系統中,我們通常會在需要的時候對資料庫進行查詢,因此系統的大致結...