组件分享之后端组件——一种现代 HTTP 反向代理和负载均衡器traefik
背景
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
组件基本信息
- 组件:traefik
- 开源协议:MIT license
- 官网:traefik.io
内容
本节我们分享一种现代 HTTP 反向代理和负载均衡器traefik,它可以轻松部署微服务。Traefik 与您现有的基础设施组件(Docker、Swarm mode、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS等)集成,并自动动态配置自身。将 Traefik 指向您的编排器应该是您需要的唯一配置步骤。
想象一下,您在编排器(如 Swarm 或 Kubernetes)或服务注册中心(如 etcd 或 consul)的帮助下部署了一堆微服务。现在您希望用户访问这些微服务,并且您需要一个反向代理。
传统的反向代理要求您配置将路径和子域连接到每个微服务的每个路由。在每天多次添加、删除、终止、升级或扩展服务的环境中,使路由保持最新的任务变得乏味。
这是 Traefik 可以帮助您的时候!
Traefik 监听您的服务注册/协调器 API 并立即生成路由,以便您的微服务连接到外部世界 - 无需您的进一步干预。
运行 Traefik,让它为你工作! (但如果你想手动配置一些路由,Traefik 也支持!)
安装方式如下:
./traefik --configFile=traefik.toml
- 或者使用官方的 tiny Docker 镜像并使用示例配置文件运行它:
docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik
- 或获取来源:
git clone https://github.com/traefik/traefik
更多内容可以参考其https://doc.traefik.io/traefik/
本文声明:
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。