Apusic文档中心
首页
  • 应用服务器 AAS
  • 负载均衡器 ALB
  • 分布式消息队列 ADMQ
  • 分布式缓存 AMDC
  • 分布式配置中心 ADCC
  • Java开发工具包软件 AJDK
  • 搜索引擎 ASE
  • 中间件云平台 ACP
  • 统一管理平台 AUMP
  • 云原生中间件管理 ACMP
  • DevOps平台 ADOP
  • 许可授权中心 ACLS
  • Copilot智能问答系统 ACS
  • 监控平台 AMP
  • 智能日志 AILP
  • 应用性能管理 AAPM
  • 智能告警 AAlarm
  • 主数据管理 AMDM
  • 数据交换平台 ADXP
  • 企业服务总线 AESB
  • 数据智脑 ADPR
  • 服务治理 ASGP
  • 统一身份管理 AIDM
  • 标准模板
  • Markdown教程 (opens new window)
  • VuePress官方社区 (opens new window)
  • 帮助
贡献文档 (opens new window)
首页
  • 应用服务器 AAS
  • 负载均衡器 ALB
  • 分布式消息队列 ADMQ
  • 分布式缓存 AMDC
  • 分布式配置中心 ADCC
  • Java开发工具包软件 AJDK
  • 搜索引擎 ASE
  • 中间件云平台 ACP
  • 统一管理平台 AUMP
  • 云原生中间件管理 ACMP
  • DevOps平台 ADOP
  • 许可授权中心 ACLS
  • Copilot智能问答系统 ACS
  • 监控平台 AMP
  • 智能日志 AILP
  • 应用性能管理 AAPM
  • 智能告警 AAlarm
  • 主数据管理 AMDM
  • 数据交换平台 ADXP
  • 企业服务总线 AESB
  • 数据智脑 ADPR
  • 服务治理 ASGP
  • 统一身份管理 AIDM
  • 标准模板
  • Markdown教程 (opens new window)
  • VuePress官方社区 (opens new window)
  • 帮助
贡献文档 (opens new window)
文档中心
  • 金蝶Apusic应用服务器

  • 金蝶Apusic负载均衡器

    • 产品白皮书
    • 产品更新说明
    • V2.0.5企业版(最新)

    • V2.0.5标准版(最新)

    • V2.0.2标准版

    • V2.0.2敏捷版

    • V2.0.1标准版

    • V2.0.1敏捷版

    • V2.0.0标准版

      • 产品简介
      • 产品白皮书
      • 安装手册
      • 用户手册
      • 快速入门
      • 运维手册
    • V2.0.0敏捷版

    • V2.0.2服务网关

  • 金蝶Apusic分布式消息队列

  • 金蝶Apusic分布式缓存

  • 金蝶Apusic分布式配置中心

  • 金蝶Apusic Java开发工具包软件

  • 金蝶Apusic全文检索

产品白皮书

# 引言

随着互联网技术应用的持续高速发展,行业软件研发模式从单体架构到分布式,再到如今的微服务架构,越来越高度依赖应用与服务的“入口”。传统的应用“入口”主要包括硬件负载均衡器、软件负载均衡器以及一些带反向代理功能的 Web 服务器,传统的应用中间件一般也带一个内嵌的负载均衡器,如金蝶 Apusic 应用服务器于 2000 年面市时就自带了一个基于 Java 开发的负载均衡器,起到统一应用入口、集群调度、负载均衡器等作用。然而,在云计算、微服务时代,传统技术已不再适应新的应用模式,负载均衡器技术及产品也面临升级换代的挑战。

在云和微服务架构下,负载均衡究竟发生了什么变化?首先,传统负载均衡通常只能解决单一应用的入口问题,而云环境带来入口的多样性,我们面临的不再是某个应用的单一入口,而是混合了不同应用、不同服务的复杂入口;其次,传统负载均衡往往是基于URL 的粗粒度的负载调度处理,而云环境下往往是基于组件级、服务级的的精细化调度,如需要精确考虑不同服务之间的编排和调用链关系;最后,传统负载均衡处理能力相对有限,达到 10K 级请求已算不错,而云环境下往往要求处理能力达到 100K 级甚至 1000K 级请求以上。

因此,金蝶天燕于启动了负载均衡器产品的升级改造, 采用全新的技术路线和技术架构,并从内嵌在AAS应用服务器的模块发展为独立的负载均衡软件产品。

# 产品概述

# 产品名称

金蝶Apusic负载均衡器软件V2.0,简称ALB,英文全名为:Apusic Load Balancer

# 产品定位

ALB能够应对大规模的集群、云平台在面向客户端提供服务时,对客户端访问请求和流量管理的需求,实现访问请求的验证、处理、转换和分发等操作,从而隔离客户端访问对提供服务的应用系统、平台以及资源的直接影响,达到对服务集群访问流量控制、访问管理和负载均衡的目的。

# 产品的受众

  • 业务具有高并发场景并需要负载均衡的企业。
  • 分布式、微服务架构的应用开发商。
  • 业务与服务多,需要统一管理网络出入口。

# 核心能力

  • 负载均衡:ALB能够⽀持轮询、带权轮询、一致性哈希等主流负载均衡算法,⽀持⾯向⽆状态服务和有状态服务提供⾮亲和性/亲和性的负载均衡场景,⽀持 HTTP、HTTPS 的反向代理,以及对 TCP/UDP、gRPC、MQTT、Dubbo、Websocket 等协议的代理模式,能够应对在互联⽹、移动互利⽹、物联⽹等复杂环境下对应⽤集群的负载均衡需求。
  • 动态上游:ALB⽀持对负载均衡上游的动态配置,通过统⼀配置中⼼实现对上游服务的即时发现,从⽽⽀撑应⽤服务规模的动态伸缩和⾼可⽤。
  • 流量管理:ALB提供了完善的流量管理机制,可根据服务响应状态对上游服务访问进⾏熔断操作,并⽀持按流量、⽤户、客户端、引⽤者(Referer)、域名等条 件对服务的访问进⾏管理。
  • 插件扩展:ALB提供了丰富的场景化插件,能够在路由转发、流量管理、运维、安全等⽅⾯提供⽀持,同时允许⽤户根据需求和场景灵活扩展插件。
  • 控制中⼼:ALB提供了图形化的管理控制中⼼,⽤户可通过管理控制中⼼对负载均衡器中的路由、上游服务和插件进⾏管理和配置。

# 产品优势

# 多种的负载均衡算法

支持轮询、带权重轮询、一致性哈希、最小连接数、指数加权移动平均的负载均衡算法

# 全局动态能力

全局动态能力指的是:配置修改提交即生效,无需重启服务,不影响现有服务。ALB的全部功能都支持动态能力,包括负载均衡的路由、上游、插件等全生命周期的配置全局动态。

# 高度可扩展

ALB支持使用 Lua、Java/Golang 语言编写流量管理和代理功能的插件。

# 全平台快速部署

ALB支持云原生的多种基础设施/平台资源、信创平台 X86、Arm 等多种服务器中,一键快速部署启动

# 功能架构

ALB的过程划分为流量处理和请求转发两个阶段。它能够捕获外界的访问请求,通过对访问请求的处理实现对上游服务的安全验证、流量管理、监控⽇志和负载均衡,从⽽⽀撑⼤规模复杂⽹络应⽤运⾏和服务供应,保障应⽤的性能、安全性和可靠性。

# 功能架构

ALB通过流量处理和请求转发对访问请求执⾏代理操作。在流量处理过程中,ALB可以⽀持以插件的⽅式完成对访问请求的处理,通过插件的⽅式建⽴请求的处理流程,从⽽实现认证、⽇志、监控、协议转换、安全、流量控制和请求报⽂转换等处理逻辑的编排和应⽤;在请求转发过程中,ALB可以按照处理结果,基于特定的负载分配算法,将处理后的访问请求转发给上游的服务,完成对访问请求的代理操作。

# 主要功能

# 全平台

  • 支持信创平台: 能够在主流信创国产化平台上运行,支持x86、ARM64等多种服务器指令集。
  • 云原生: 支持云原生的部署方式,可在多种基础设施/平台资源中部署。

# 多协议支持

  • HTTP(S) 代理: 动态HTTP/HTTPS请求代理,支持从HTTP/HTTPS访问向多种协议/架构的服务端的转换。
  • TCP/UDP 代理: 动态 TCP/UDP 连接代理。
  • Dubbo 反向代理: 动态代理 HTTP 请求到 Dubbo 后端。
  • gRPC 代理:支持gRPC连接代理,可利用ALB的插件能力对gRPC访问请求进行管理。
  • 动态 MQTT 代理: 支持用 client_id 对 MQTT 进行负载均衡,同时支持 MQTT 3.1.* 和 5.0 标准 gRPC 反向代理:支持HTTP请求到gRPC API的转换异步协议代理:支持Websocket代理。
  • SSL:动态加载 SSL 证书。
  • 静态资源代理: 支持代理节点所在静态资源。
  • PHP代理: 支持代理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语言编写业务流量管理需求插件。

# 运行环境

# 硬件环境

列举产品部署所需的硬件环境

服务器:通用Linux 服务器,支持华为鲲鹏、飞腾芯片等国产服务器。

内存:8G或以上

硬盘:500GB或以上

网络:千兆或以上

# 软件环境

列举产品部署所需的软件环境

操作系统:统信UOS、麒麟、OpenEuler、Ubuntu、Centos系统、信创专用加密操作系统。

数据库: ETCD 3.14或以上。

# 总结

# 产品优势

全局动态配置

所见所得,提交配置修改即生效,无需重启或重新加载负载均衡器,即实现动态路由、动态上游、动态插件、动态的SSL证书绑定,最终实现动态的负载均衡。

多协议代理

支持完善的网络四层/七层架构协议的代理,覆盖HTTP、HTTPS、TCP/UDP、Dubbo、MQTT、gRPC、Websocket、PHP FastCGI。

全面适配信创环境

稳定高效运行在国产操作系统与硬件架构体系上,其中操作系统包含:UOS、华为OpenEuler、麒麟V10、中科方德等;硬件体系包含:飞腾、鲲鹏、兆芯与海光硬件平台。

高可靠最佳实践

提供负载均衡场景的最佳实践,通过多机高可用架构,以及主备配置数据节点,保障业务的可用性,满足多场景下高可靠的运行要求。

高度可扩展

支持自定义开发插件,可实现在负载均衡的各个阶段嵌入并执行个性化的功能,实现差异化的负载均衡需求。

安全防护

支持多种身份验证能力,包含:IP黑白名单、Referer白名单、限制速率、限制请求数、限制并发、CORS等功能。

# 应用场景

应用服务集群的负载均衡器

ALB与Apusic应用服务器深度集成,支持AAS应用服务器管控台一键启用ALB负载均衡器,支撑运行在AAS上的分布式应用的动态负载均衡,以及主动健康检查,能够及时发现并屏蔽故障服务,保障业务不中断。

网站动静分离

ALB支持本地静态资源代理与多协议后端服务的接入,支撑动静分离架构应用的负载均衡,提高用户访问静态代码或资源的速度,降低对后台服务访问的压力。

网站服务能力水平扩展

ALB拥有动态上游服务接入能力,支持多种负载均衡算法与外部服务发现组件的接入,可支撑业务和网站流量增长带来的高并发场景,达到动态伸缩Web服务规模、实现业务水平扩展效果。

统一流量出入口

ALB支持访问流量的安全验证、限流与限速,支持访问日志的收集与推送,可支撑复杂应用平台出入流量的统一安全验证和管理、访问流量的统计与审计,从而实现从入口对后端访问流量的统一管控。

编辑页面 (opens new window)

← 产品简介 安装手册→

  • 浅色模式