在使用負載平衡前,您需要根據您的業務確定負載平衡的監聽類型和網路類型等。

規劃Server Load Balancer執行個體的地域

阿里雲提供華北、華東、華南、亞太東南、亞太東北、歐洲中部、美國東部、美國西部、香港和中東東部在內的不同地域的負載平衡服務。

為了提供更加穩定可靠的負載平衡服務,阿里雲負載平衡已在各地域部署了多可用性區域,實現同地域下的跨機房容災。此外,您也可以在不同地域建立多個Server Load Balancer執行個體,通過DNS輪詢的方式對外提供服務,從而提高跨地域的可用性。

在選擇地域時,請注意:

  • 為了減少延遲並提高下載速度,建議選擇離您客戶最近的地域。
  • 由於負載平衡不支援跨地域部署,因此應選擇與後端ECS執行個體相同的地域。

選擇Server Load Balancer執行個體的類型(公網或私網)

根據您的業務類型,確定負載平衡的執行個體類型。Server Load Balancer執行個體建立後,系統會根據執行個體類型分配一個公網服務地址或私網服務地址。

  • 公網Server Load Balancer執行個體僅提供公網IP,可以通過Internet訪問負載平衡服務。

    如果您要建立公網類型的Server Load Balancer執行個體,還需根據具體業務特點確定計費方式:

    • 按流量計費:適用于波峰波穀效應明顯的業務。
    • 按頻寬計費:適用於頻寬較為平穩的業務。
  • 私網Server Load Balancer執行個體僅提供阿里雲私網IP,只能通過阿里雲內部網路訪問該負載平衡服務,無法從Internet訪問。私網類型的Server Load Balancer執行個體不收取費用。

選擇監聽協議

負載平衡提供四層(TCP協議和UDP協議)和七層(HTTP協議和HTTPS協議)監聽。

  • 四層監聽將請求直接轉寄給後端伺服器,不會修改標題。用戶端請求到達負載平衡監聽後,負載平衡伺服器會使用監聽中配置的後端通信埠與後端ECS建立TCP串連。
  • 七層監聽原理上是反向 Proxy的一種實現。用戶端請求到達負載平衡監聽後,負載平衡伺服器會通過與後端ECS建立TCP串連,即再次通過新TCP串連HTTP協議訪問後端,而不是直接轉寄報文到後端ECS。

    由於七層監聽比四層監聽在底層實現上多了一個Tengine處理環節,因此,七層監聽效能沒有四層好。此外,用戶端通信埠不足、後端伺服器串連過多等場景也可能導致七層服務效能不高,如果您對效能有很高的要求,建議您使用四層監聽。

準備後端伺服器

您需要在Server Load Balancer執行個體中添加ECS來處理前端監聽轉寄的請求。在建立負載平衡前,需要建立好ECS執行個體並部署相關應用。建立ECS時,請注意:

  • ECS執行個體的地域和可用性區域

    確保ECS執行個體的地域和Server Load Balancer執行個體的地域相同。此外,建議您將ECS部署在不同的可用性區域內,提高本地可用性。

  • ECS配置
    在ECS上部署好應用後,不需要再進行特別的配置。但如果您要配置一個四層監聽(TCP協議或UDP協議),並且ECS使用的是Linux系統,確保 net.ipv4.conf檔案中的以下三個參數的值為0:
    
    net.ipv4.conf.default.rp_filter = 0
    net.ipv4.conf.all.rp_filter = 0
    net.ipv4.conf.eth0.rp_filter = 0
  • ECS部署

    目前Server Load Balancer執行個體後端可配置的ECS數量沒有限制。但是,為了保證對外服務的穩定與高效,建議您根據業務分類或應用服務的模組劃分,將提供不同服務或執行不同任務的應用伺服器ECS添加到不同的Server Load Balancer執行個體中。