同类系统对比
注:由于相关项目在活跃开发,如下信息可能过期或有误,欢迎您在 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商业版支持动态配置,在不重启进程的情况下热加载配置生效