1. mysql資料庫怎麼實現負載均衡技術,是lvs+mysql AB復制嗎
mysql資料庫負載均衡 一般多用於讀負載,lvs 負載均衡,keepalived 高可用性。
LVS軟體負載均衡器
LVS(LinuxVirtual Server)是由章文嵩博回士主導開答發的一款開源軟體,可以實現Linux平台下的基於網路層的負載均衡軟體。典型的基本架構圖如圖所示:
LVS集群採用IP負載均衡技術和基於內容請求分發技術。
LVS集群採用基於IP負載均衡技術和基於內容請求分發技術。當客戶端有請求時,首先將請求包傳送到Load Balance,然後Load Balance從後面的Real Servers中按照一定的演算法策略選取一台Real Server,比如Real Server1,然後把請求包發送給Real Server1進行處理。對所有用戶而言,面向用戶的伺服器端IP地址,只有一台,稱之為VirtualIP Address。
2. SQLSERVER怎麼搭建伺服器集群實現負載均衡
很多組織機構慢慢的在不同的伺服器和地點部署SQL Server資料庫——為各種應用和目的——開始考慮通過SQL Server集群的方式來合並。
將SQL Server實例和資料庫合並到一個中心的地點可以減低成本,尤其是維護和軟硬體許可證。此外,在合並之後,可以減低所需機器的數量,這些機器就可以用於備用。
當尋找一個備用,比如高可用性的環境,企業常常決定部署Microsoft的集群架構。我常常被問到小的集群(由較少的節點組成)SQL Server實例和作為中心解決方案的大的集群哪一種更好。在我們比較了這兩個集群架構之後,我讓你們自己做決定。
什麼是Microsoft集群伺服器
MSCS是一個Windows Server企業版中的內建功能。這個軟體支持兩個或者更多伺服器節點連接起來形成一個「集群」,來獲得更高的可用性和對數據和應用更簡便的管理。MSCS可以自動的檢查到伺服器或者應用的失效,並從中恢復。你也可以使用它來(手動)移動伺服器之間的負載來平衡利用率以及無需停機時間來調度計劃中的維護任務。
這種集群設計使用軟體「心跳」來檢測應用或者伺服器的失效。在伺服器失效的事件中,它會自動將資源(比如磁碟和IP地址)的所有權從失效的伺服器轉移到活動的伺服器。注意還有方法可以保持心跳連接的更高的可用性,比如站點全面失效的情況下。
MSCS不要求在客戶計算機上安裝任何特殊軟體,因此用戶在災難恢復的經歷依賴於客戶-伺服器應用中客戶一方的本質。客戶的重新連接常常是透明的,因為MSCS在相同的IP地址上重啟應用、文件共享等等。進一步,為了災難恢復,集群的節點可以處於分離的、遙遠的地點。
在集群伺服器上的SQL Server
SQL Server 2000可以配置為最多4個節點的集群,而SQL Server 2005可以配置為最多8個節點的集群。當一個SQL Server實例被配置為集群之後,它的磁碟資源、IP地址和服務就形成了集群組來實現災難恢復。
SQL Server 2000允許在一個集群上安裝16個實例。根據在線幫助,「SQL Server 2005在一個伺服器或者處理器上可以支持最多50個SQL Server實例,」但是,「只能使用25個硬碟驅動器符,因此如果你需要更多的實例,那麼需要預先規劃。」
注意SQL Server實例的災難恢復階段是指SQL Server服務開始所需要的時間,這可能從幾秒鍾到幾分鍾。如果你需要更高的可用性,考慮使用其他的方法,比如log shipping和資料庫鏡像。
單個的大的SQL Server集群還是小的集群
下面是大的、由更多的節點組成的集群的優點:
◆更高的可用新(更多的節點來災難恢復)。
◆更多的負載均衡選擇(更多的節點)。
◆更低廉的維護成本。
◆增長的敏捷性。多達4個或者8個節點,依賴於SQL版本。
◆增強的管理性和簡化環境(需要管理的少了)。
◆更少的停機時間(災難恢復更多的選擇)。
◆災難恢復性能不受集群中的節點數目影響。
下面是單個大的集群的缺點:
◆集群節點數目有限(如果需要第9個節點怎麼辦)。
◆在集群中SQL實例數目有限。
◆沒有對失效的防護——如果磁碟陣列失效了,就不會發生災難恢復。
◆使用災難恢復集群,無法在資料庫級別或者資料庫對象級別,比如表,創建災難恢復集群。
虛擬化和集群
虛擬機也可以參與到集群中,虛擬和物理機器可以集群在一起,不會發生問題。SQL Server實例可以在虛擬機上,但是性能可能會受用影響,這依賴於實例所消耗的資源。在虛擬機上安裝SQL Server實例之前,你需要進行壓力測試來驗證它是否可以承受必要的負載。
在這種靈活的架構中,如果虛擬機和物理機器集群在一起,你可以在虛擬機和物理機器之間對SQL Server進行負載均衡。比如,使用虛擬機上的SQL Server實例開發應用。然後在你需要對開發實例進行壓力測試的時候,將它災難恢復到集群中更強的物理機器上。
集群伺服器可以用於SQL Server的高可用性、災難恢復、可擴展性和負載均衡。單個更大的、由更多的節點組成的集群往往比小的、只有少數節點的集群更好。大個集群允許更靈活環境,為了負載均衡和維護,實例可以從一個節點移動到另外的節點。
3. 如何實現mssql資料庫負載均衡
SQL Server 負載均衡集群
一個應用系統隨著業務量的提高,以及訪問量和數據流量的快速增長,各個核心部分的處理性能和計算強度也相應增大,使得單一設備根本無法承擔。在此情況下,如果扔掉現有設備去做大量的硬體升級,必將造成現有資源的浪費,而且下一次業務量的提升,又將導致再一次硬體升級的高額成本投入。於是,負載均衡機制應運而生。 對於應用系統的負載均衡的硬體和軟體比比皆是,因為應用伺服器上的程序基本上認為是不變化的,而且一般的各個應用伺服器上的程序是不交互的。因此應用伺服器的負載均衡非常好做,只需要能夠進行分流的軟體或者硬體把多個客戶端的連接分配到多個應用伺服器上去即可。
因為資料庫內的數據是頻繁變化的,為了數據的一致性以及鎖資源的分配協調等,所以像應用伺服器那樣只有分流是不夠的,各個節點需要頻繁的交互。這也是資料庫集群軟體難做的原因,當然也是賣的貴的原因了。
Oracle Real Application Clusters
對於資料庫負載均衡,大家最為耳熟能詳的就是Oracle RAC了。RAC是雙機並行伺服器(8i及以前版本稱作Oracle Parallel Server,OPS),用來在集群環境下實現多機共享資料庫,以保證應用的高可用性,同時可以自動實現並行處理及均分負載,還能實現資料庫在故障時的排錯和無斷點恢復。它可以自動進行負載平衡、故障修復和規劃停機時間,以支持高可用性應用程序。若並行伺服器中某節點失效,透明的應用程序容錯能夠把用戶自動轉接到另一節點上繼續運行,應用程序在用戶沒有察覺的情況下繼續執行。這使周期性和非周期性發生故障的系統增大了連續可用性。進程的失效可以完全透明地轉移到另一節點上去,通過適當地配置,可以指定所有查詢都在客戶端進行緩存,這樣它們便可以在轉移後的節點上重新設置。
Moebius for SQL Server
截至到SQL Server 2008,微軟還是沒有推出負載均衡組件,只能靠第三方軟體來實現,好在這個軟體是幾個從微軟出來的人寫的,也算是個小小的巧合。說他們是微軟出來的並不是說他們的技術多厲害,而是他們利用SQL Server的一些內部介面把集群做的非常透明, 無論是應用程序的調用還是開發/管理人員的使用都和面對一個資料庫一樣。
他們的實現原理是這樣的:和SQL Server鏡像一樣,每個資料庫節點都有自己的數據,也就是無共享磁碟架構。他們稱之為「中間件」的程序宿主在資料庫的內部,每個節點資料庫上寫入數據導致數據變化時,SQL Server會激活「中間件」,「中間件」把變化的數據同步到其他的節點上。其他節點發生變化也是一樣。因為「中間件」宿主在資料庫內, 所以它能夠把每個同步的Session和SQL Server的Session綁定到一起,也就是使用戶的執行和數據的同步成為一個原子操作,從而保證數據在每時每刻都是一致的。因此查詢可以隨便到每個機器上去查,從而做到了真正的負載均衡。
這是一種叫"資料庫路由器"的技術,這種技術的特點是靈活性好,但效率比RAC要低,畢竟RAC是在引擎里實現的不管怎麼樣有比沒有強!
4. Oracle的RAC做資料庫的負載均衡,有什麼優點和缺點
RAC編輯〔RAC提供的優缺點〕RAC,全稱realapplicationclusters,譯為「實時應用集群」,是Oracle新版資料庫中採用的一項新技術,是高可用性的一種,也是Oracle資料庫支持網格計算環境的核心技術。OracleRACRAC提供的優缺點優點OracleRAC主要支持Oracle9i、10g、11g版本,可以支持24x7有效的資料庫應用系統,在低成本伺服器上構建高可用性資料庫系統,並且自由部署應用,無需修改代碼。在OracleRAC環境下,Oracle集成提供了集群軟體和存儲管理軟體,為用戶降低了應用成本。當應用規模需要擴充時,用戶可以按需擴展系統,以保證系統的性能。(1)多節點負載均衡;(2)提供高可用:故障容錯和無縫切換功能,將硬體和軟體錯誤造成的影響最小化;(3)通過並行執行技術提高事務響應時間----通常用於數據分析系統;(4)通過橫向擴展提高每秒交易數和連接數----通常對於聯機事務系統;(5)節約硬體成本,可以用多個廉價PC伺服器代替昂貴的小型機或大型機,同時節約相應維護成本;(6)可擴展性好,可以方便添加刪除節點,擴展硬體資源。缺點(1)相對單機,管理更復雜,要求更高;(2)在系統規劃設計較差時性能甚至不如單節點;(3)可能會增加軟體成本(如果使用高配置的pc伺服器,Oracle一般按照CPU個數收費)。在Oracle9i之前,RAC的名稱是OPS(OracleparallelServer)。RAC與OPS之間的一個較大區別是,RAC採用了CacheFusion(高速緩存合並)技術。在OPS中,節點間的數據請求需要先將數據寫入磁碟,然後發出請求的節點才可以讀取該數據。使用Cachefusion時,RAC的各個節點的數據緩沖區通過高速、低延遲的內部網路進行數據塊的傳輸。