處理高併發的六種方法

2021-09-12 22:06:18 字數 804 閱讀 9096

處理高併發的六種方法

1:系統拆分,將乙個系統拆分為多個子系統,用dubbo來搞。然後每個系統連乙個資料庫,這樣本來就乙個庫,現在多個資料庫,這樣就可以抗高併發。

2:快取,必須得用快取。大部分的高併發場景,都是讀多寫少,那你完全可以在資料庫和快取裡都寫乙份,然後讀的時候大量走快取不就得了。畢竟人家redis輕輕鬆鬆單機幾萬的併發啊。沒問題的。所以你可以考的慮考慮你的專案裡,那些承載主要請求讀場景,怎麼用快取來抗高併發。

3:mq(訊息佇列),必須得用mq。可能你還是會出現高併發寫的場景,比如說乙個業務操作裡要頻繁搞資料庫幾十次,增刪改增刪改,瘋了。那高併發絕對搞掛你的系統,人家是快取你要是用redis來承載寫那肯定不行,資料隨時就被lru(淘汰掉最不經常使用的)了,資料格式還無比簡單,沒有事務支援。所以該用mysql還得用mysql啊。那你咋辦?用mq吧,大量的寫請求灌入mq裡,排隊慢慢玩兒,後邊系統消費後慢慢寫,控制在mysql承載範圍之內。所以你得考慮考慮你的專案裡,那些承載複雜寫業務邏輯的場景裡,如何用mq來非同步寫,提公升併發性。mq單機抗幾萬併發也是ok的。

4:分庫分表,可能到了最後資料庫層面還是免不了抗高併發的要求,好吧,那麼就將乙個資料庫拆分為多個庫,多個庫來抗更高的併發;然後將乙個表拆分為多個表,每個表的資料量保持少一點,提高sql跑的效能。

6:solrcloud:

solrcloud(solr 雲)是solr提供的分布式搜尋方案,可以解決海量資料的 分布式全文檢索,因為搭建了集群,因此具備高可用的特性,同時對資料進行主從備份,避免了單點故障問題。可以做到資料的快速恢復。並且可以動態的新增新的節點,再對資料進行平衡,可以做到負載均衡:

居中的六種方法

居中效果在css中很是普通的效果,平時大家所看到的居中效果主要分為三大類 水平居中 垂直居中和水平垂直居中。而其中水平居中相對於後兩者來說要簡單得多。早期總結了一下網際網路上有關於水平垂直居中的幾種實現方案,比如說 css製作水平垂直居中對齊 中介紹了八中實現水平垂直的方案,而在 css製作水平垂直...

陣列遍歷六種方法

foreach some every map filter reducer var arr 1,2,3,4 arr.foreach item,index,arr foreach遍歷陣列,無返回值,不改變原陣列,僅僅只是遍歷 常用於註冊元件 指令等等。var arr 1,2,3,4 arr.some ...

去水印六種方法

1 使用仿製圖章工具去除 使用仿製圖章工具去除文字這是比較常用的方法,具體的操作是,選取仿製圖章工具,按住alt鍵,在無文字區域點選相似的色彩名圖案取樣,然後在文字區域拖動滑鼠複製以覆蓋文字。要注意的是,取樣點即為複製的起始點。選擇不同的筆刷直徑會影響繪製的範圍,而不同的筆刷硬度會影響繪製區域的邊緣...