軟件簡介
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 等軟件都是標準支持的。