traefik和nginx区别

(*-*)浩
(*-*)浩 原创
2019-06-18 11:34:29 19230浏览

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中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。