服務器一:分布式服務器結構


客戶端 ——> 任務服務器 ——> 應用服務器

任務服務器,需有兩台或兩台以上的任務服務器,心跳機制校驗。

應用服務器的負載均衡:

1.任務服務器暴露一個HTTP接口給應用服務器,當應用服務器空閑的時候就到任務服務器里取任務。

2.應用服務器可以暴露一個HTTP協議的接口給任務服務器,任務服務器使用該接口獲取應用服務器的CPU,內存,IO等負載相關量是否高,從而決定把任務分配給當前負載低的應用服務器

應用服務器可以根據業務等進行分割

 

應用服務器 ——> DAL層,數據庫服務器 ——> 數據庫

                         \downarrow

應用服務器 ——> Cache層,多個redis

 

緩存層:

1.為了減輕數據庫壓力,一些熱點數據可以存在緩存數據庫中,減少數據庫的訪問量

2.當修改數據的時候,應用服務器通過DAL層直接修改數據庫,然后DAL層會把數據同步到緩存數據庫,應用服務器只從緩存數據庫中取數據,而不會直接修改它

 

數據庫:

1.當讀寫操作很多的時候,數據庫分為主從數據庫,由於業務中很多時候都是讀操作比寫操作多,因此寫功能的數據庫比讀功能的數據庫要少

2.當主數據庫被改寫之后,需要對從數據進行同步,這時候可以主流數據庫的replication機制進行同步。這個機制通過日志文件來工作的

3.當數據庫大到一定程度的時候,為了改善數據庫並發,需要對數據庫進行分區

垂直分庫:按照一定的邏輯,把表分散到不同的庫中,如用戶表一個庫,業務表一個庫等等

水平分庫:把一個庫分成N個,每個庫都有其他中所有的表,數據平分

 

服務器性能四大殺手:

1.數據拷貝,可用緩存避免

2.環境切換,主要是線程之間的切換

3.內存分配,可用內存池改進

4.鎖競爭,盡量避免


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM