Traefik - HTTP反向代理、负载均衡软件


GPL
跨平台
Google Go

软件简介

Træfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件,能轻易的部署微服务. 它支持多种后端 (Docker, Swarm,
Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…)
,可以对配置进行自动化、动态的管理.

选择traefik主要是有以下特点让我们决定使用:

  • Golang编写,单文件部署,与系统无关,同时也提供小尺寸Docker镜像。

  • 支持Docker/Etcd后端,天然连接我们的微服务集群。

  • 内置Web UI,管理相对方便。

  • 自动配置ACME(Let’s Encrypt)证书功能。

  • 性能尚可,我们也没有到压榨LB性能的阶段,易用性更重要。

除了这些以外,traefik还有以下特点:

  • Restful API支持。

  • 支持后端健康状态检查,根据状态自动配置。

  • 支持动态加载配置文件和graceful重启。

  • 支持WebSocket和HTTP/2。

除了上面提到的微服务化集群支持,一些AB测试阶段也可以通过frontend的路由特性进行动态分配,当然这些对HAProxy等软件都是标准支持的。