在semaphore信號量很是適合高併發訪問,在新系統上線以前要對系統訪問量進行評估,這個訪問量時根據推廣力度、以往經驗、歷史數據及用戶量等預估出的合理值,若是太大,就會形成資源浪費,若是過小在高峯期會直接壓垮系統 相關概念 :java
實例化semaphore時指定數量,每一個線程執行時調用semaphore的acqure()方法,執行結尾處調用semaphore的replace()方法,可以鎖定線程執行最大數量 使用java代碼作限流不是很常見,通常用redis,記錄用戶訪問一樣一個url次數,對這個次數作限制,若是超過某個值,則暫停訪問此url一段時間。redis有expried,數據能夠設置過時時間,例如設置過時時間60秒,每過60秒就清零redis
秒殺系統實現思路 獨立的一個系統,不參與任何一個集成。不論秒殺是否成功,都不影響總體功能。服務器