一,負載平衡:
大負載大容量的服務時,需要此方案,多是為了分載每一個服務的壓力,對負載進行均衡分配。
網絡服務負載平衡有很多方案:
1,基于VRRP的網絡服務:此方案關鍵是利用ARP協議,兩臺以上的機器定期告訴接入網關,自己是某個服務IP,這樣,服務就會根據負載情況,或者定時充當這個IP的機器,從而起到負載平衡作用,但這里的業務數據要保持一致。相關的session要進行統一同步復制。
2,基于網絡硬件的服務:位于服務網絡入口處,接入硬件設備,由些網絡設備分別轉發業務數據給相應的多臺服務器。需業務數據同步。
3,基于業務的負載平衡:以業務ID分段/域劃分等方法,每臺服務器進行為特定ID段業務服務。這需要服務器的統一進行管理。
4,數據庫的負載平衡:這個比較復雜,MySQL有主從同步服務器的方案,也有服務器族方案,Oracle有自己的集群機制,及負載方案,10年前,就用過Oracle的負載方式。DB2同樣也有自己的集群方案share-nothing,也曾見過網上提過負載代理的方案,需要第三方軟件。
冗余備份方案也有很多種:
1,基于VRRP: 一主多從,當一有個服務器停止服務,VRRP會自動實現冗余功能,因為這臺停止服務的機器不再發ARP包來爭奪控制權。
2, 基于業務的: 有服務器管理器,被管理服務器以心 跳時表示其有效,當超時沒有心跳時,管理服務器會對該服務器反注冊,或者走啟動備份服務器。
3,基于存貯的:大家都應該熟悉RAID的冗余陣列方案。不在多說。
4,數據庫的冗余備份方案過于多樣,以后專門整理。
5,基于代理的,這個原理基本相同于基于業務的方式。