同类系统对比

    注:由于相关项目在活跃开发,如下信息可能过期或有误,欢迎您在 https://github.com/bfenetworks/bfe/issues 反馈。

    • BFE: BFE是一个开源的七层负载均衡系统。
    • : Nginx是HTTP服务、反向代理服务、邮件代理服务、通用TCP/UDP代理服务。
    • Traefik: Traefik是先进的HTTP反向代理和负载均衡。
    • : Envoy是开源的边缘和服务代理,为云原生应用而设计。
    • 4个系统都支持HTTPS和HTTP/2

    健康检查

    • BFE和Nginx只支持“被动”模式的健康检查。
    • Traefik只支持“主动”模式的健康检查。
    • Envoy支持主动、被动和混合模式的健康检查。

    注:Nginx商业版支持“主动”模式的健康检查。

    实例级别负载均衡

    • 4个系统都支持实例级别负载均衡
    • BFE、Traefik、Envoy都支持集群级别负载均衡

    对于转发规则的描述方式

    • BFE基于
    • Nginx基于正则表达式
    • Traefik支持基于请求内容的分流,但无法支持灵活的与或非逻辑
    • Envoy支持基于域名、Path及Header的转发规则

    编程语言

    • BFE和Traefik都基于Go语言
    • Nginx使用C和Lua开发
    • Envoy使用C++开发
    • 4个系统都使用了可插拔架构

    新功能开发成本

    由于编程语言方面的差异,BFE和Traefik的开发成本较低,Nginx和Envoy的开发成本较高。

    异常处理能力

    • BFE对程序内部状态,提供了
    • Nginx和Traefik提供的内部状态信息较少
    • Envoy也提供了丰富的内部状态展示

    配置热加载

    • 4个系统都提供配置热加载功能

    注:Nginx商业版支持动态配置,在不重启进程的情况下热加载配置生效