項目裏什麼地方會有高併發?如何保證高併發時線程安全?

對於商城一類系統中,單點登陸、購物車、訂單這些都有併發。數據庫

用AtomicInteger、synchronized、Lock、ThreadLocal等類來保證在代碼層面上的線程安全;若是是功能上須要自主多線程處理,那麼也會使用線程池ThreadPool來提升併發效率。安全

對高併發的處理會使用Redis的分佈式鎖(setnx),將對於服務器的承載力達到必定數量後,以後的請求所有加入隊列處理。服務器

負載均衡:在代碼層級上對不一樣的業務進行讀寫分離;而數據庫上進行集羣和主從複製。在應用服務器上對應的對每一個服務器都運用lvs+keepalive模式進行服務器集羣;若是硬件資源足夠的話那麼能夠對集羣節點更加多和更加分散提升併發能力和系統穩定性。多線程

相關文章
相關標籤/搜索