應用場景是這樣,一個管理端(Java實現),大量客戶端(C++實現,數量大約10000),各個客戶端會檢測自己主機的某類文件的運行情況及狀態變化,并實時將數據上報給管理端,同時管理端要將收到的數據存入數據庫(MySQL),由于客戶端數量較多從而在管理端形成了較大并發,現在思路是這樣為了防止管理端在大并發壓力下掛掉,想建立一個大的緩存機制(如隊列模式),開辟多個線程接收到客戶端傳來的數據,立即將數據保存到緩存。在合適的時機(比如緩存中的記錄達到一定數量,具體還沒想好)批量將緩存中的數據批量保存至數據庫,然后清空緩存,繼續接收新數據,個人感覺有點大并發下的生產者、消費者的意思。
請問有合適的開源組件么(java版本)?或者有現成的思路貼借鑒一下嗎?
慕田峪4524236
2022-09-16 18:14:15