產品白皮書
# 版本更新說明
| 日期 | 手冊版本 | 適用產品 | 更新說明 |
|---|---|---|---|
| 2024年12月 | V2.0.2 | ALB | 新增版權聲明等內容 |
| 2025年12月 | V2.0.5 | ALB | 產品升級 |
| 2026年06月 | V2.0.6 | ALB | 產品全新升級 |
# 引言
隨著網際網路技術應用的持續高速發展,行業軟體研發模式從單體架構到分散式,再到如今的微服務架構,越來越高度依賴應用與服務的「入口」。傳統的應用「入口」主要包括硬體負載平衡器、軟體負載平衡器以及一些帶反向代理功能的 Web 伺服器,傳統的應用中介軟體一般也帶一個內嵌的負載平衡器,如金蝶 Apusic 應用伺服器於 2000 年面市時就自帶了一個基於 Java 開發的負載平衡器,起到統一應用入口、叢集調度、負載平衡等作用。然而,在雲端運算、微服務時代,傳統技術已不再適應新的應用模式,負載平衡器技術及產品也面臨升級換代的挑戰。
在雲端和微服務架構下,負載平衡究竟發生了什麼變化?首先,傳統負載平衡通常只能解決單一應用的入口問題,而雲端環境帶來入口的多樣性,我們面臨的不再是某個應用的單一入口,而是混合了不同應用、不同服務的複雜入口;其次,傳統負載平衡往往是基於 URL 的粗粒度的負載調度處理,而雲端環境下往往是基於元件級、服務級的精細化調度,如需要精確考慮不同服務之間的編排和呼叫鏈關係;最後,傳統負載平衡處理能力相對有限,達到 10K 級請求已算不錯,而雲端環境下往往要求處理能力達到 100K 級甚至 1000K 級請求以上。
因此,金蝶天燕啟動了負載平衡器產品的升級改造,採用全新的技術路線和技術架構,並從內嵌在 AAS 應用伺服器的模組發展為獨立的負載平衡軟體產品。
# 發展歷程
- 2026年06月,ALB v2.0.6標準版發佈上線,全面更新管控台並優化修復產品。
- 2025年12月,ALB v2.0.5標準版發佈上線。
- 2024年10月,ALB原生高可用元件v1.0上線,可一鍵部署主備高可用叢集。
- 2023年12月,ALB v2.0標準版適配多個國產軟硬體系統。
- 2023年7月,發佈ALB v2.0標準版,提供快速替換Nginx的能力。
- 2022年6月,發佈ALB v2.1版本,支援三員權限管理和多實例部署管理。
- 2021年12月,發佈ALB v2.0版本,提供外掛擴充能力、適配多個國產軟硬體系統。
- 2021年8月,發佈ALB v1.1版本,提供動態代理和快速安裝功能。
- 2021年7月,開啟ALB v2.0專案,適配國產軟硬體系統並相容Nginx。
- 2021年7月,發佈完善的ALB v1.0版,為AAS提供負載平衡能力。
- 2021年5月,ALB v1.0 beta版,具備服務代理功能。
- 2021年1月,自主研發負載平衡器軟體立項。
# 產品概述
金蝶Apusic負載平衡器軟體(Apusic Load Balancer,ALB)是一款高效能、高可用性的 Web 伺服器。ALB不僅能高效地管理大規模叢集中的用戶端請求與流量,還兼具服務代理和微服務閘道的功能。作為服務代理,ALB負責請求的負載平衡、安全控制、驗證與過濾,確保後端服務的品質;作為微服務閘道,它不僅隔離了用戶端對微服務應用系統的直接存取,還提供了路由管理、動態設定、自訂外掛支援、精細化流量拆分以及第三方服務發現等功能,可支撐微服務一站式快速接入。
# 產品名稱
金蝶Apusic負載平衡器軟體V2.0,簡稱ALB,英文全名為:Apusic Load Balancer。在不同使用情境下,ALB分為以下兩個版本:
- 企業版:適用於傳統服務代理和微服務閘道情境。
- 標準版:適用於高可用和高效能的服務代理情境。
# 產品的受眾
- 業務具有高並行情境並需要負載平衡的企業。
- 分散式、微服務架構的應用開發商。
- 業務系統複雜繁多,需要統一代理網路出入口的企業和架構。
- 具備靜態資源代理需求的企業和機構,ALB可以支撐靜態內容代理需求。
# 金蝶Apusic負載平衡器標準版
# 產品定位
金蝶Apusic負載平衡器標準版(ALB Standard Edition)是一款高效能、高並行的 Web 伺服器和反向代理伺服器,採用輕量級、模組化架構和跨平台能力。ALB 標準版專為處理大量並行連線而設計,提供靜態內容服務、四層/七層代理、負載平衡等核心功能,並支援國密 SSL、存取控制、三員權限等安全特性。ALB 標準版的靈活性和可擴充性使其成為建構高效能網站和應用的理想選擇,尤其適合需要處理大量靜態資源和動態請求的情境。
# 核心功能
| 功能 | 功能說明 |
|---|---|
| 靜態檔案服務 | 支援靜態檔案快取、斷點續傳、壓縮傳輸等功能,實現快速、低延遲的靜態內容散發。 |
| 反向代理 | 支援 HTTP/HTTPS(1/2/3)、WebSocket、gRPC、FastCGI、TCP、UDP 等多種協定的反向代理。 |
| 負載平衡 | 支援四層負載平衡和七層負載平衡,提供輪詢、加權輪詢、最少連線數、IP 雜湊、工作階段黏著等演算法。 |
| 高可用 | 支援基於 Keepalived 的原生高可用(AHA)部署,提供主備切換、VIP 移轉、設定同步等能力。 |
| 安全 | 支援 HTTPS 協定、國密 SSL 雙向認證、IP 黑白名單、Referer 黑白名單、存取控制、靜態資源防盜鏈等。 |
| 管控台 | 提供 Web 視覺化管控台,支援站台管理、設定管理、憑證管理、高可用管理、日誌管理、模組管理、系統資訊、三員權限和稽核日誌。 |
| 外部 API 與 AI Agent | 提供 RESTful 外部 API 和 alb-cli 命令列工具,支援 Claude、OpenCode 等 AI Agent 透過 SKILL 進行自動化維運。 |
| 遷移工具 | 提供 Nginx 設定遷移工具,支援遷移 Nginx 設定、靜態資源、SSL 憑證等到 ALB。 |
| 跨平台 | 支援國產軟硬體平台,包括鯤鵬、龍芯、兆芯、海光、飛騰、申威等 CPU 架構及統信 UOS、麒麟、OpenEuler、Deepin、中科方德等作業系統。 |
| 監控 | 支援監控採集和展示 ALB 節點的執行狀態、流量、效能、設定、日誌等,並支援日誌定時輪替、備份和下載。 |
# 產品功能架構
ALB 標準版基於多處理程序模型處理網路請求,透過模組化設計實現高效能和高並行能力。管控台與 ALB 代理核心協同工作:使用者在 Web 管控台或外部 API 上完成的設定,會產生對應的 Nginx 相容設定檔並自動重新載入到 ALB 代理核心;同時,ALB 代理核心將執行狀態、流量、日誌等資料回傳至管控台進行展示和分析。該架構既保留了 ALB 的高效能轉發能力,又透過視覺化管控台和開放 API 大幅提升了維運效率。
# 主要功能
# 服務代理
| 功能 | 功能說明 |
|---|---|
| 靜態檔案服務 | 支援靜態檔案快取、斷點續傳、壓縮傳輸等功能,實現快速、低延遲的靜態內容散發。 |
| 反向代理 | 支援 HTTP/HTTPS(1/2/3)、FastCGI、WebSocket、gRPC、TCP、UDP 等多種協定代理。 |
| 協定支援 | 支援 IPv4 和 IPv6 雙堆疊協定。 |
| 站台管理 | 支援 Web 視覺化建立 HTTP/TCP/UDP 站台,支援 Location、Upstream、SSL 憑證、存取控制、限流、自訂標頭等進階設定。 |
# 負載平衡
| 功能 | 功能說明 |
|---|---|
| 輪詢 | 每個請求按時間順序逐一分配到不同的後端伺服器。 |
| 加權輪詢 | 根據節點權重產生節點流量比例,用於後端伺服器效能不均的情況。 |
| 最少連線數 | 選擇上游服務節點連線數最少的一個節點作為轉發節點。 |
| sticky(工作階段黏著) | 透過維護 cookie 的用戶端關聯性,確保來自同一用戶端的請求在工作階段期間始終被導向到同一後端伺服器,實現 cookie 一致性。 |
| IP 位址雜湊 | 根據 IP 位址進行雜湊計算獲得目標節點,保證每個訪客固定存取一個後端伺服器,可解決 session 一致性問題。 |
# 流量管理
| 功能 | 功能描述 |
|---|---|
| 限制請求速度 | 透過限制請求速度,防止上游服務同時被過多的請求淹沒。 |
| 限制請求次數 | 限制用戶端單位時間內的請求次數。 |
| 限制並行 | 限制用戶端單位時間允許的連線數。 |
# 安全
| 功能 | 功能說明 |
|---|---|
| HTTPS 協定 | 支援 HTTP/HTTPS 協定,可保障用戶端和伺服端通訊安全可信。 |
| 國密 SSL | 支援國密 SSL 雙向認證通訊,可保障用戶端和伺服端通訊安全可信;支援已上傳憑證自動綁定已有站台,支援自動產生測試憑證。 |
| 存取控制 | 支援 IP 存取控制、IP 黑白名單、Referer 黑白名單、靜態資源防盜鏈等功能。 |
| 三員權限 | ALB 管控台支援等保 2.0 三員權限模型,支援角色和權限管理、使用者安全策略設定、稽核日誌檢視。 |
# 維運與管理
| 功能 | 功能說明 |
|---|---|
| Web 管控台 | 提供視覺化操作介面,支援站台管理、設定管理、憑證管理、高可用管理、日誌管理、模組管理、系統資訊檢視。 |
| 設定管理 | 支援 Nginx 相容設定檔的線上編輯、語法突顯、自動完成、全量備份與還原。 |
| 高可用管理 | 支援基於 Keepalived 的高可用叢集建立與管理,支援主節點向備節點同步設定。 |
| 日誌管理 | 支援日誌檔案按設定定時輪替、備份和下載,便於稽核和故障排除。 |
| 模組管理 | 支援上傳第三方模組,支援啟用/停用模組和檢視模組詳細資訊。 |
| 系統資訊 | 支援檢視 ALB 授權資訊、授權更新,支援 ALB 代理核心和管控台平滑升級與復原。 |
| 外部 API 與 CLI | 提供 RESTful 外部 API 和 alb-cli 命令列工具,支援站台管理、狀態監控、設定重新載入、日誌查詢等。 |
| AI Agent | 支援 Claude、OpenCode 等 AI Agent 透過 SKILL 呼叫 alb-cli,實現自然語言驅動的日常巡檢和故障排除。 |
# 產品優勢
相容 Nginx
ALB 標準版全面相容 Nginx 1.10 ~ Nginx 1.30 版本,支援 Nginx 的設定檔格式,可快速實現 Nginx 設定檔的遷移和替換。
易用的 Web 管控台
ALB 提供整合式 Web 管理主控台,介面經過 V2.0.6 全面最佳化升級,支援節點執行狀態監控、流量效能資料展示、站台管理、模組管理、日誌管理、線上遷移、三員權限管理、稽核日誌檢視及設定檔和 SSL 憑證統一管理。
適配國產環境
ALB 標準版支援在國產軟硬體系統上安全穩定高效執行,其中硬體架構支援鯤鵬、龍芯、兆芯、海光、飛騰、申威等平台,作業系統支援統信 UOS、麒麟、OpenEuler、Deepin、中科方德等。
國密 SSL
ALB 標準版支援國密 SSL 雙向認證通訊,支援已上傳憑證自動綁定已有站台,並支援自動產生測試憑證,可保障用戶端和伺服端通訊安全可信。
Lua 指令碼擴充
ALB 標準版支援使用 Lua 指令碼擴充,可滿足客戶對流量接入、流量處理、反向代理和日誌記錄等業務的客製化開發。
開放 API 與 AI Agent
ALB 標準版提供 RESTful 外部 API、alb-cli 命令列工具以及面向 AI Agent 的 SKILL,便於與 CI/CD、ERP、維運監控等系統整合,並支援導入 Claude、OpenCode 等 AI 助理進行自動化維運和故障排除。
# 應用情境
統一流量出入口
ALB 標準版支援存取流量的安全驗證、限流與限速和負載平衡,可支撐複雜應用平台出入流量的統一安全驗證和管理、存取流量的統計與稽核,從而實現從入口對後端存取流量的統一管控。
網站動靜分離
ALB 標準版支援本地靜態資源代理與後端服務的反向代理,支撐動靜分離架構應用的負載平衡,提高使用者存取靜態程式碼或資源的速度,降低對後台服務存取的壓力。
靜態資源託管
ALB 標準版擁有靜態檔案服務功能,支援靜態檔案快取、斷點續傳等功能,實現快速、低延遲的靜態內容散發,如圖片、影片和網頁檔案,幫助客戶建置高效的內容發佈平台,達成網站存取速度提升和頻寬成本節省的目的。
流量控制與存取策略訂製
ALB 標準版支援限流限速功能,可實現對存取請求的精準控制,如連線數限制和請求速率限制,幫助客戶有效應對突發流量,防止服務過載,達成穩定服務品質和防 DDoS 攻擊的目的。
安全反向代理
ALB 標準版支援國密 SSL 雙向認證通訊,支援包括 HTTP、HTTPS 在內的多種協定,可保障多協定安全代理。
自動化維運與 AI 輔助
透過 ALB 標準版提供的外部 API、alb-cli 和 AI Agent SKILL,客戶可在 CI/CD 管線中自動發佈站台、在 ERP/維運平台中對接 ALB,並讓 AI 助理完成日常巡檢、日誌分析和故障定位。
# 金蝶Apusic負載平衡器軟體企業版
# 產品定位
ALB能夠應對大規模的叢集、雲端平台在面向用戶端提供服務時,對用戶端存取請求和流量管理的需求,實現存取請求的驗證、處理、轉換和分發等操作,從而隔離用戶端存取對提供服務的應用系統、平台以及資源的直接影響,達到對服務叢集存取流量控制、存取管理和負載平衡的目的。
# 核心功能
| 功能 | 功能說明 |
|---|---|
| 負載平衡 | ALB能夠支援輪詢、加權輪詢、一致性雜湊等主流負載平衡演算法,支援面對無狀態服務和有狀態服務提供非親和性/親和性的負載平衡情境,支援 HTTP、HTTPS 的反向代理,以及對 TCP/UDP、gRPC。 |
| 全域動態能力 | 全域動態能力指的是:設定修改提交即生效,無需重啟服務,不影響現有服務。 |
| 流量管理 | ALB提供了完善的流量管理機制,可根據服務回應狀態對上游服務存取進行熔斷操作,並支援按流量、使用者、用戶端、引用者(Referer)、網域名稱等條件對服務的存取進行管理 |
| 外掛擴充 | ALB提供了豐富的情境化外掛,能夠在路由轉發、流量管理、維運、安全等方面提供支援,同時允許使用者根據需求和情境靈活擴充外掛。 |
| 控制中心 | ALB提供了圖形化的管理控制中心,使用者可透過管理控制中心對負載平衡器中的路由、上游服務和外掛進行管理和設定。 |
# 產品功能架構
ALB透過流量處理和請求轉發對存取請求執行代理操作。在流量處理過程中,ALB可以支援以外掛的方式完成對存取請求的處理,透過外掛的方式建立請求的處理流程,從而實現認證、日誌、監控、協定轉換、安全、流量控制和請求封包轉換等處理邏輯的編排和應用;在請求轉發過程中,ALB可以按照處理結果,基於特定的負載分配演算法,將處理後的存取請求轉發給上游的服務,完成對存取請求的代理操作。
# 主要功能
# 全平台
- 支援信創平台:能夠在主流信創國產化平台上執行,支援x86、ARM64等多種伺服器指令集。
- 雲原生:支援雲原生的部署方式,可在多種基礎設施/平台資源中部署。
# 多協定支援
- HTTP(S)。
- TCP/UDP。
- Dubbo。
- gRPC。
- MQTT,支援 MQTT 3.1.* 和 5.0 標準。
- Websocket。
- 靜態資源代理。
- php_fcgi協定。
# 節點和流量管理
- 設定動態更新:設定和外掛動態熱更新,無需中斷服務。
- 代理請求重寫:支援重寫存取請求的host、uri、schema、enable_websocket、headers 等資訊。
- 反向代理輸出重寫:支援自訂修改回應內容的status code、body、headers等資訊
- 函式呼叫:支援在ALB處理存取請求前/後階段新增並呼叫自訂的函式。
- 動態負載平衡:支援有權重的輪詢、一致性Hash等負載平衡演算法,支援服務端點的即時增減。
- 健康檢查:支援服務端點的健康檢查,可自動過濾不健康節點。
- 服務熔斷:根據服務呼叫回傳的錯誤次數/比率中斷。
- 服務鏡像代理:支援對服務端的存取進行鏡像操作。
- 流量拆分:允許使用者控制多個上游服務之間的流量設定。
- 流量管理:支援限制速率、限制請求數、限制並行等流量管理策略。
- 批次請求:支援基於HTTP管線的批次HTTP請求。
# 精細化路由
- 路徑規則比對:支援全路徑比對和前綴比對;支援自訂路由比對函式。
- 靈活的路由條件:使用者可以使用 cookie、args 等做為路由的條件,支援各類運算子做為路由的判斷條件。
- 支援IPv6:支援使用 IPv6 格式比對路由。
- 路由生命週期:支援路由的自動過期設定。
- 路由優先順序:支援對路由的優先順序設定。
# 安全防護
- IP 黑白名單
- Referer 白名單
- 限制速率
- 限制請求數
- 限制並行
- 防禦 ReDoS(正規表示式拒絕服務):內建策略,無需設定即可抵禦 ReDoS。
- CORS:為你的 API 啟用 CORS。
- URI 攔截器:根據 URI 攔截使用者請求。
- 請求驗證器。
# 維運友善
- 可觀測的效能管理:支援 Apache Skywalking 和 Zipkin 對效能的視覺化追蹤和管理。
- 對接外部服務發現:除了內建的 etcd 外,還支援 Consul 和 Nacos 的 DNS 發現模式。
- 監控和指標:支援與 Prometheus 以及金蝶Apusic監控平台(AMP)的整合。
- 高可用叢集:ALB叢集透過統一設定中心確保節點間的一致性,支援節點數量的動態增減。
- 圖形化的控制中心:支援對ALB的路由和服務設定和管理。
- 全域規則:允許對所有請求執行外掛,比如限流限速等。
- 外部日誌記錄器:支援將存取日誌匯出到外部日誌管理工具。
# 高度可擴充
- 自訂外掛:允許掛載常見階段,例如init、rewrite、access、balancer、header filter、body filter 和 log 階段。
- 外掛可以用 Java/Go 編寫。
- 自訂負載平衡演算法:可以在 balancer 階段使用自訂負載平衡演算法。
- 自訂路由:支援使用者自己實作路由演算法。
# 技術特性
# 穩定可靠執行
ALB基於多處理程序模型,保障某一個請求連線代理出現錯誤,不影響其他處理程序;出現異常的處理程序結束後,其主處理程序將快速再次建立一個處理程序保障服務效能不下降,以及多個實例支援共用設定,元件主備或者負載平衡,實現更高的可靠性。
# 支援高並行
ALB透過非同步非阻塞機制,結合IO多工技術,支援極高的並行。
# 模組化設計
ALB透過解耦請求接入、處理、負載平衡、回應回傳的階段,並嵌入特定邏輯,實現個人化與可支撐微服務流量入口的架構,以及支援Java/Go語言編寫業務流量管理需求外掛。
# 產品優勢
全域動態設定
ALB設定項所見即所得,提交設定修改即生效,無需重啟或重新載入負載平衡器,即實現動態路由、動態上游、動態外掛、動態的SSL憑證綁定,實現動態的負載平衡。
多協定代理
ALB支援完善的網路四層/七層架構協定的代理,涵蓋HTTP、HTTPS、TCP/UDP、Dubbo、MQTT、gRPC、Websocket、PHP FastCGI。
全面適配信創環境
ALB可穩定高效執行在國產作業系統與硬體架構體系上,其中作業系統包含:UOS、華為OpenEuler、麒麟V10、中科方德等;硬體體系包含:飛騰、鯤鵬、兆芯與海光硬體平台。
高度可擴充
ALB支援透過Lua語言開發自訂外掛,可在負載平衡的各個階段嵌入並執行流量管理功能,實現差異化的負載平衡需求。
安全防護
ALB支援多種身分驗證能力,包含:IP黑白名單、Referer白名單、限制速率、限制請求數、限制並行、CORS等功能。
# 應用情境
應用服務叢集的負載平衡器
ALB與Apusic應用伺服器深度整合,支援AAS應用伺服器管控台一鍵啟用ALB負載平衡器,支撐執行在AAS上的分散式應用的動態負載平衡,以及主動健康檢查,能夠及時發現並屏蔽故障服務,保障業務不中斷。
網站動靜分離
ALB支援本地靜態資源代理與多協定後端服務的接入,支撐動靜分離架構應用的負載平衡,提高使用者存取靜態程式碼或資源的速度,降低對後台服務存取的壓力。
網站服務能力水平擴充
ALB擁有動態上游服務接入能力,支援多種負載平衡演算法與外部服務發現元件的接入,可支撐業務和網站流量增長帶來的高並行情境,達到動態伸縮Web服務規模、實現業務水平擴充效果。
統一流量出入口
ALB支援存取流量的安全驗證、限流與限速,支援存取日誌的收集與推送,可支撐複雜應用平台出入流量的統一安全驗證和管理、存取流量的統計與稽核,從而實現從入口對後端存取流量的統一管控。
# 系統軟硬體要求
# 硬體環境
| ALB版本 | 硬體平台 | CPU架構 | 記憶體大小 | 儲存空間 |
|---|---|---|---|---|
| 企業版 | 鯤鵬 | ARM | 4GB+ | 50GB+ |
| 企業版 | 兆芯 | x86 | 4GB+ | 50GB+ |
| 企業版 | 海光 | x86 | 4GB+ | 50GB+ |
| 企業版 | 飛騰 | ARM | 4GB+ | 50GB+ |
| 標準版 | 鯤鵬 | ARM | 4GB+ | 50GB+ |
| 標準版 | 兆芯 | x86 | 4GB+ | 50GB+ |
| 標準版 | 海光 | x86 | 4GB+ | 50GB+ |
| 標準版 | 飛騰 | ARM | 4GB+ | 50GB+ |
| 標準版 | 龍芯 | mips64、loongarch | 4GB+ | 50GB+ |
| 標準版 | 申威 | sw64 | 4GB+ | 50GB+ |
註:以上為最低硬體標準。
# 軟體環境
- 作業系統:UOS、Kylin、Deepin、中科方德、Centos、Ubuntu
# 效能規格
| ALB版本 | 硬體規格 | 並行 |
|---|---|---|
| 企業版/標準版 | CPU:4核,記憶體:8G | 2萬以內 |
| 企業版/標準版 | CPU:8核,記憶體:16G | 5萬以內 |
| 企業版/標準版 | CPU:8核,記憶體:32G | 10萬以內 |
| 企業版/標準版 | CPU:16核,記憶體:48G | 50萬以內 |
| 企業版/標準版 | CPU:32核,記憶體:64G | 100萬以內 |