Traefik,它是一个用Golang开发的轻量级的Http反向代理和负载均衡器,虽然相比于Nginx,它是后起之秀,但是它天然拥抱kubernetes。
image.pngTraefik直接与集群k8s的Api Server通信,实时感知集群中Ingress定义的路由规则集合和后端Service、Pod的变化,自动热更新Traefik后端配置,根本不用创建Ingress controller对象,同时还提供了友好的控制面板和监控界面,不仅可以方便地查看Traefik根据Ingress生成的路由配置信息,还可以查看统计的一些性能指标数据,如:
总响应时间、平均响应时间、不同的响应码返回的总次数等.。
不仅如此,Traefik还支持丰富的annotations配置,可配置众多出色的特性,例如:自动熔断、负载均衡策略、黑名单、白名单;还支持许多后端存储,如:zookeeper、eureka、consul、rancher、docker等,它会自动感知这些统一配置中心的变化,热更新自己的路由配置,所以Traefik对于微服务来说简直就是一神器。
特性
-
它非常快 查看性能测试
-
无需安装其他依赖,通过Go语言编写的单一可执行文件
-
支持 Rest API
-
多种后台支持:Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, 并且还会更多
-
后台监控, 可以监听后台变化进而自动化应用新的配置文件设置
-
配置文件热更新。无需重启进程
-
正常结束http连接
-
后端断路器
-
轮询,rebalancer 负载均衡
-
Rest Metrics
-
后台支持SSL
-
前台支持SSL(包括SNI)
-
清爽的AngularJS前端页面
-
支持Websocket
-
支持HTTP/2
-
网络错误重试
-
支持Let’s Encrypt (自动更新HTTPS证书)
-
高可用集群模式
2.0版本
Traefik 2.0 经过了一年的等待,今天终于正式发布了,此次大版本的更新添加了许多新功能,特别是大家都期望的支持四层 TCP 的功能。
新特性
- NI 路由和多协议端口的 TCP
- 支持 HTTP 和 TCP 在同一个端口上
- 使用中间件自定义路由
- Traefik 中内置了许多中间件:路径操作、多种身份验证机制、缓冲、断路器、重试、压缩、错误处理、headers、IP 白名单、限速、重定向等
- 全新的 Dashboard
- 支持金丝雀发布、A/B 测试
- 流量复制
网友评论