Træfɪk 是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。 它支持多种后台(Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的配置文件设置。
由于微服务架构以及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使用教程栏目进行学习!
以上是traefik和nginx区别的详细内容。更多信息请关注PHP中文网其他相关文章!