Traefik: cloud edge router native 1: overview

Here Insert Picture Description
Traefik is an edge router Go language development, it can be used as a HTTP reverse proxy or load balancing. Traefik clearly positioned itself as a native cloud edge router, this article will Traefik features are introduced.

What is Traefik

The same pronunciation Traefik traffic is actually a reverse proxy and load balancing tools for HTTP, the base frame supporting a large number of integrated components include Docker, Swarm mode, Kubernetes, Consul, Etcd, Racncher, Amazon ECS and the like, using Traefik can make micro-service deployment easier.

scenes to be used

Here Insert Picture Description

Developers will be deployed on Kubernetes micro service or the other cluster, were registered with the service, such as Etcd or Consul, when the need to consider how users access these services when the micro, which requires a reverse proxy played. The traditional reverse proxy, such as nginx needs to be configured for each service routing, dynamic configuration does not frequent the traditional architecture, and it will not be a sore point, but with the popularity of the concept of micro-services and an increasing number practice project, add, delete, stop, upgrade or expand the level of service has been a very frequent thing, in this case how to dynamically manage the routing information becomes a very difficult thing.
Traefik is improved at this point, strictly speaking, provider of solutions for all looking to become cloud-native areas of the edge router must provide at least this feature. Traefik access information and services through component providing a service registration function Consul or the like, and then adjust the changes in the routing information changing micro services rendered in real time according to the dynamic information, so that the development of an external user and micro and services who need not be too concerned about this.

Profiles

Traefik summary in the following list:

project Explanation
Official website https://containo.us/traefik/
Open / closed source Open source
Source Address Management https://github.com/containous/traefik/
License Category MIT License
Development language Go
Operating System Support 跨平台,支持多种操作系统,比如Linux, Mac OS X, FreeBSD, Solaris, and Windows等
当前稳定版本 2.1.6 (2020/02/29)

主要特性

Traefik提供了如下主要的关键特性:

  • 无需重启,支持配置的热更新
  • 支持多种负载均衡算法
  • 提供HTTPS支持,同时支持Let’s Encrypt的证书自动更新等特性
  • 支持断路器和失败重试
  • 提供可视化的web界面
  • 支持Websocket、HTTP/2和GRPC
  • 支持Rest API
  • 提供可以集成的指标信息,支持Prometheus、Influxdb、Datadog等
  • 提供访问日志
  • 整体只有一个编译后的二进制文件,方便部署和使用
  • 提供基于Alpine的官方镜像

优势

基于上述的一些基本特性,Traefik有着一些相对具有优势的特点:

  • 能够和主流框架进行集成实现自动发现,框架包括Kubernetes, Mesos, Docker Swarm, Key Value Stores, Rancher等
  • 能够和Open Tracing,、Jaeger 和Zipkin等集成实现服务追踪
  • 提供可以集成的指标信息,支持Prometheus、Influxdb、Datadog等
  • 提供HTTPS支持,同时支持Let’s Encrypt的证书自动更新等特性
  • 支持对于HTTP或者TCP的应用的路由请求
  • 可以进行路由的定制
  • 支持金丝雀部署
  • 支持镜像机制,可以复制请求发送至其他服务

社区活跃度

目前社区的活跃程度较好,下载、星数和参与者都保持一个不错的势头。
Here Insert Picture Description

商业版本

除社区版还提供商业版本(Treafik EE),在商业版本中重点强化了高可用、扩展性和安全的特性。
Here Insert Picture Description

社区版 vs 商业版本

目前EE版本(商业版本)主要在以下具体部分有所强化
Here Insert Picture Description

集成和支持

对包括Kubernetes在内的很多流行的工具和平台都提供原生的支持。
Here Insert Picture Description

参考内容

https://github.com/containous/traefik/
https://containo.us/traefik/
https://docs.containo.us/features/

Released 1108 original articles · won praise 1312 · Views 4.06 million +

Guess you like

Origin blog.csdn.net/liumiaocn/article/details/104641813