一種負載均衡的方法及系統的制作方法
【技術領域】
[0001]本發明涉及計算機系統設計領域和數據庫領域,具體涉及一種MYSQL高可用負載均衡架構設計。
【背景技術】
[0002]現在是數據爆發的時代,對于一些特性類型的網站來說會遇到大量用戶并發請求的情況,在這個情況下如果所有的讀寫操作都落在一個主機上,并且沒有相依的高可以架構的話就會造成嚴重的影響甚至會出現冗機的情況,
【發明內容】
[0003]為了解決上述問題,本發明提供了了一種負載均衡方法,所述方法包括:
[0004]對所述keepalivednginx主服務器進行檢測,檢測到所述keepalivednginx主服務器故障,切換到所述keepalivednginx備份服務器;
[0005]當所述keepalivednginx主服務器恢復,則切換回所述keepalivednginx主服務器;
[0006]在切換前或者切換后,對各級服務器的訪問進行分流。
[0007]可選地,在切換前,對各級服務器的訪問進行分流,包括:
[0008]如果所述keepalivednginx主服務器接收到php動態請求消息,則將所述php動態請求消息轉發到第一中間件服務器和第二中間件服務器處理;
[0009]如果所述第一中間件服務器接收到所述php動態請求消息中包含SQL請求,則所述第一中間件服務器將所述SQL請求轉發到Atlas主服務器;
[0010]如果所述第二中間件服務器接收到所述php動態請求消息中包含SQL請求,則所述第二中間件服務器將所述SQL請求轉發到Atlas從服務器。
[0011]可選地,
[0012]所述Atlas主服務器,將所述SQL請求中的寫請求發送到Mysql主數據庫服務器;
[0013]所述Atlas主服務器,將所述SQL請求中的讀請求發送到Mysql從數據庫服務器;
[0014]所述Atlas從服務器,將所述SQL請求中的寫請求發送到Mysql主數據庫服務器;
[0015]所述Atlas從服務器,將所述SQL請求中的讀請求發送到Mysql從數據庫服務器。
[0016]可選地,在切換后,對各級服務器的訪問進行分流,包括:
[0017]如果所述keepalivednginx備份服務器接收到php動態請求消息,則轉發到第一中間件服務器和第二中間件服務器處理;
[0018]如果所述第一中間件服務器接收到所述php動態請求消息中包含SQL請求,則所述第一中間件服務器將所述SQL請求轉發到Atlas主服務器;
[0019]如果所述第二中間件服務器接收到所述php動態請求消息中包含SQL請求,則所述第二中間件服務器將所述SQL請求轉發到Atlas從服務器;
[0020]可選地,
[0021]所述Atlas主服務器,將所述SQL請求中的寫請求發送到Mysql主數據庫服務器;
[0022]所述Atlas主服務器,將所述SQL請求中的讀請求發送到Mysql從數據庫服務器;
[0023]所述Atlas從服務器,將所述SQL請求中的寫請求發送到Mysql主數據庫服務器;
[0024]所述Atlas從服務器,將所述SQL請求中的讀請求發送到Mysql從數據庫服務器。
[0025]一種負載均衡系統,包括檢測模塊,keepalivednginx主服務器,keepalivednginx備份服務器;
[0026]所述檢測模塊,用于對所述keepalivednginx主服務器進行檢測,檢測到所述keepalivednginx主服務器故障,切換到所述keepalivednginx備份服務器;
[0027]當所述keepalivednginx主服務器恢復,則切換回所述keepalivednginx主服務器;
[0028]在切換前或者切換后,對各級服務器的訪問進行分流。
[0029]可選地,還包括第一中間件服務器、第二中間件服務器、Atlas主服務器、Atlas從服務器、Mysql主數據庫服務器、Mysql從數據庫服務器;
[0030]當所述檢測模塊檢測到所述keepalivednginx主服務器故障之前,對各級服務器的訪問進行分流,包括:
[0031]如果所述keepalivednginx主服務器接收到php動態請求消息,則將所述php動態請求消息轉發到第一中間件服務器和第二中間件服務器處理;
[0032]如果所述第一中間件服務器接收到所述php動態請求消息中包含SQL請求,則所述第一中間件服務器將所述SQL請求轉發到Atlas主服務器;
[0033]如果所述第二中間件服務器接收到所述php動態請求消息中包含SQL請求,則所述第二中間件服務器將所述SQL請求轉發到Atlas從服務器。
[0034]可選地,
[0035]所述Atlas主服務器,用于將所述SQL請求中的寫請求發送到Mysql主數據庫服務器;
[0036]所述Atlas主服務器,將所述SQL請求中的讀請求發送到Mysql從數據庫服務器;
[0037]所述Atlas從服務器,用于將所述SQL請求中的寫請求發送到Mysql主數據庫服務器;
[0038]所述Atlas從服務器,將所述SQL請求中的讀請求發送到Mysql從數據庫服務器。
[0039]可選地,還包括第一中間件服務器、第二中間件服務器、Atlas主服務器、Atlas從服務器、Mysql主數據庫服務器、Mysql從數據庫服務器;
[0040]當切換到keepalivednginx備份服務器之后,對各級服務器的訪問進行分
[0041]流,包括:
[0042]如果所述keepalivednginx備份服務器接收到php動態請求消息,則將所述php動態請求消息轉發到第一中間件服務器和第二中間件服務器處理;
[0043]如果所述第一中間件服務器接收到所述php動態請求消息中包含SQL請求,則所述第一中間件服務器將所述SQL請求轉發到Atlas主服務器;
[0044]如果所述第二中間件服務器接收到所述php動態請求消息中包含SQL請求,則所述第二中間件服務器將所述SQL請求轉發到Atlas從服務器。
[0045]可選地,
[0046]所述Atlas主服務器,將所述SQL請求中的寫請求發送到Mysql主數據庫服務器;
[0047]所述Atlas主服務器,將所述SQL請求中的讀請求發送到Mysql從數據庫服務器;
[0048]所述Atlas從服務器,將所述SQL請求中的寫請求發送到Mysql主數據庫服務器;
[0049]所述Atlas從服務器,將所述SQL請求中的讀請求發送到Mysql從數據庫服務器。
[0050]將前端的請求進行分流,對于讀請求多的系統來說此時會產生明顯的提速效果,因為讀的請求全部落在了其他的機器上,原來的主機僅僅提供寫請求,通過高可用的架構可以實現當源服務器出現故障的時候無縫的切換到指定的服務器,保證服務的連續性。
【附圖說明】
[0051]圖1為本發明的一種負載均衡的方法的流程圖;
[0052]圖2為本發明的一種負載均衡系統的系統圖。
【具體實施方式】
[0053]下面將結合附圖及實施例對本發明的技術方案進行更詳細的說明。
[0054]需要說明的是,如果不沖突,本發明實施例以及實施例中的各個特征可以相互結合,均在本發明的保護范圍之內。另外,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
[0055]—種負載均衡方法,所述方法包括:
[0056]對所述keepalivednginx主服務器進行檢測,檢測到所述keepalivednginx主服務器故障,切換到所述keepalivednginx備份服務器;
[0057]當所述keepalivednginx主服務器恢復,則切換回所述keepalivednginx主服務器;
[0058]在切換前或者切換后,對各級服務器的訪問進行分流。
[0059]圖1為本發明的流程圖;
[0060]步驟SOl:對所述keepalivednginx主服務器進行檢測;
[0061]步驟S02:檢測到所述keepa