專案高併發問題解決方案合集

2021-10-08 01:50:49 字數 780 閱讀 7685

這道題是比較典型的題吧,也是我第乙個公司入職的時候,面試官問我的,當時我回答只能說是星星之火,還不能燎原那種,差點被面試官給澆滅。

1、採用快取技術

這是最簡單的乙個回答,使用者快取、頁面快取等一切快取。使用特定的機制來進行重新整理,利用消耗記憶體空間來換取使用者的效率,同時減少資料庫的訪問次數。

2、優化sql語句

把資料庫的查詢語句進行優化,一般複雜的sql語句就不要用orm框架自帶的做法來寫,採用自己來寫sql,hibernate中的hsl語句就會很耗時。

3、優化資料庫的表給構

在關鍵字、主鍵、訪問率校高的字段中加入索引,但盡量只是在數字型別上面加,因為使用字段 is null 的時候,索到的效果就會失效。

4、使用定時任務

報表統計的模組,盡量使用定時任務執行, 如果非要實時進行重新整理,那麼就以採用快取來做資料。

5、增加指定業務伺服器

可以使用靜態頁面的地方就使用靜態頁面,這樣可以減少頁面解析時間,同時頁面中的過多時可以考慮把單獨做成乙個伺服器,這樣就可以減少業務伺服器的壓力。

6、採用伺服器集群

採用集群的式來解決單務器的效能問題。

7、採用微服務與分布式

把項目標按照業務分成多個,再用小型伺服器的形式來進行部署。採

用資料同步機制(可以使用資料庫同步形式來做),達到資料一致性。

8、使用負載均衡

使用負載均衡模式來讓每乙個伺服器資源進行合理的利用。

9、使用redis

可以使用redis來做記憶體資料庫快取,也可以使用映象分擔,這樣可以讓兩台伺服器進行訪問。

IoT併發問題解決

twisted是用python實現的基於事件驅動的網路引擎框架。twisted誕生於2000 年初,在當時的網路遊戲開發者看來,無論他們使用哪種語言,手中都鮮有可兼顧擴充套件性及跨平台的網路庫。twisted支援許多常見的傳輸及應用層協議,包括tcp udp ssl tls http imap ss...

EAS開發問題解決方案彙總

做了快5年的eas開發,遇到過的問題數不勝數,最近在幫新同事處理問題時發現好多問題是似曾相識的 現將這些問題及解決方法彙總下來,並不斷維護吧。1.開發過程中往往會遇到某些欄位或表不存在的提示,而這些屬性確不是我們開發的,故不知道是那個表少屬性。解決方案 第一步 通過在com.kingdee.bos....

高併發下redis快取穿透問題解決方案

我們在日常的開發中,經常會遇到查詢資料列表的問題,有些資料是不經常變化的,如果想做一下優化,在提高查詢的速度的同時減輕資料庫的壓力,那麼redis快取絕對是乙個好的解決方案。假設有10000個請求,想達到第一次請求從資料庫中獲取,其他9999個請求從redis中獲取這種效果。public listg...