traefik简单介绍
traefik简单介绍
nginx大家都很清楚,家喻户晓,从apache,到nginx,几乎开启了一个新时代,但是这么多年以来,软件的发展迅速,各种新事物层出不穷,微服务,devops,集群,k8s等等
出现,再也不是原来一个简简单单的web,不可能再重新部署以下服务,然后nginx重新启动一下这么简单了,所以,现在需要一个功能强大,比如tcp,http,而且需要支持
动态部署,比如服务新增或者挂掉以后,能自动代理,无需人为干预
概念
边缘路由 edge router
比如nginx是http服务器,但是traefik几乎可以代理所有的网络服务,比如redis,mysql,这些是tcp系列的,还有http系列的,边缘路由,就是很强大的路由,一个能代理几乎
一切的路由这是官网的描述
自动服务发现 auto service discovery
把你服务部署的时候,附加上路由信息,traefik可以自动获取配置信息,来路由,当你的服务移除的时候,traefik也可以自动发现, 去移除,这一切都是自动的,你无需去同步配置,然后
重启
traefik 架构
- Providers负责发现服务
- Entrypoints 监听等待请求
- Routers 分析请求
- Services 转发分析过后的请求
- Middlewares 修改相关的请求
Entrypoints
支持http,tcp,udp,而且可以同时监听多个,http支持 http/1,http/2,http/3,同时http转发的那些常见功能,非常丰富
Routers
通过host,header,path,query,clientIp分分发请求
services
配置服务的host,port,scheme等相关信息,Entrypoints支持tcp,udp,http,所以,服务可以是http,也可以是mysql,redis这样的中间件,对应tcp
Providers
可以是docker,k8s,也可以是kv数据库,比如redis,详情请查看官网,支持的比较丰富,如果是docker,k8s可以自动,如果是kv数据库的话,需要自己放置配置
,比较麻烦详细的配置
middleWare
其实就是针对route做一些操作,比如addPrefix,ReplacePath,Buffering等相关针对http的操作
总结
简单介绍一下traefik,初步有个概念,另外官网的文档其实还是很齐全的,有需要,可以好好看看官网的文档