traefik和nginx區別

tr?f?k 是一個為了讓部署微服務更加便捷而誕生的現代http反向代理、負載均衡工具。 它支持多種后臺(docker,?swarm,?kubernetes,?marathon,?mesos,?consul,?etcd,?zookeeper,?boltdb, rest api, file…) 來自動化、動態的應用它的配置文件設置。

traefik和nginx區別

由于微服務架構以及Docker技術和kubernetes編排工具最近幾年才開始逐漸流行,所以一開始的反向代理服務器比如nginx、apache并未提供其支持,畢竟他們也不是先知;所以才會出現 Ingress Controller 這種東西來做 kubernetes 和前端負載均衡器如 nginx 之間做銜接;即 Ingress Controller 的存在就是為了能跟 kubernetes 交互,又能寫 nginx 配置,還能 reload 它,這是一種折中方案;而最近開始出現的 traefik 天生就是提供了對 kubernetes 的支持,也就是說 traefik 本身就能跟 kubernetes API 交互,感知后端變化,因此可以得知: 在使用 traefik 時,Ingress Controller 已經無卵用了!

Traefik 與 nginx 一樣,是一款反向代理的工具,至于使用他原因基于以下幾點

漂亮的dashboard界面

可基于容器label進行配置新添服務簡單,不用像nginx一樣復雜配置,并且不用頻繁重啟

prometheus和k8s的集成

Traefik 的基礎組件

就兩個組件,就這么簡單,支持自己寫 middle-ware。

Traefik
Traefik 的主程序,啟動時可以指定配置文件,

Dashboard
一個簡單的Dashboard, 可以看當前的路由規則,和轉發的結果統計。

配置文件如何使用

Traefik 的配置分為靜態配置?和動態配置兩大類。

動態配置:用來控制路由和負載均衡策略,動態配置不需要重起Traefik就可以生效。

靜態配置:簡單的說吧除了動態配置的其他均為靜態配置范疇,靜態配置需要重啟Traefik才能生效。

配置詳細說明我就不寫了,到官網上找你需要的配置是最明智的(我是明智的官網)。
但是在后面的的練習中會說明部分配置的意義。

注意點

動態配置可以和靜態配置一起在同一個文件里,動態配置寫在文件的最后。 如果想用配置文件來指定路由規則的話,需要將動態配置和靜態配置文件分開,如下 ## 在  "靜態配置的最后面"  加入下面信息來指定動態配置文件[file]watch = truefilename = "rules.toml"

更多Nginx相關技術文章,請訪問Nginx使用教程欄目進行學習!?

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享