traefik和nginx区别

发布时间 - 2019-06-13 00:00:00    点击率:

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使用教程栏目进行学习! 


# nginx  # 架构  # tr  # docker  # zookeeper  # etcd  # consul  # kubernetes  # apache  # http  # 自动化  # prometheus  # 负载均衡  # 配置文件  # 均衡器  # 重启  # 官网  # 是一个  # 我是  # 我就  # 就能  # 不需要 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 百度输入法ai组件怎么删除 百度输入法ai组件移除工具  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  浅析上传头像示例及其注意事项  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Java解压缩zip - 解压缩多个文件或文件夹实例  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  如何在万网利用已有域名快速建站?  如何用景安虚拟主机手机版绑定域名建站?  如何在阿里云服务器自主搭建网站?  如何用PHP工具快速搭建高效网站?  Laravel如何使用Gate和Policy进行授权?(权限控制)  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  如何用西部建站助手快速创建专业网站?  javascript中对象的定义、使用以及对象和原型链操作小结  焦点电影公司作品,电影焦点结局是什么?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  Laravel如何使用Telescope进行调试?(安装和使用教程)  中山网站制作网页,中山新生登记系统登记流程?  制作企业网站建设方案,怎样建设一个公司网站?  Linux系统命令中screen命令详解  如何续费美橙建站之星域名及服务?  利用JavaScript实现拖拽改变元素大小  Android Socket接口实现即时通讯实例代码  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  北京专业网站制作设计师招聘,北京白云观官方网站?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  用v-html解决Vue.js渲染中html标签不被解析的问题  原生JS实现图片轮播切换效果  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  如何在宝塔面板中修改默认建站目录?  如何正确选择百度移动适配建站域名?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  活动邀请函制作网站有哪些,活动邀请函文案?  海南网站制作公司有哪些,海口网是哪家的?  如何为不同团队 ID 动态生成多个“认领值班”按钮  制作电商网页,电商供应链怎么做?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  详解Android——蓝牙技术 带你实现终端间数据传输  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  Laravel如何实现用户密码重置功能?(完整流程代码)  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  Python数据仓库与ETL构建实战_Airflow调度流程详解  JavaScript数据类型有哪些_如何准确判断一个变量的类型