简介
Traefik是类似Nginx和HAProxy的HTTP反向代理网络服务器,具有三层交换机的功能。Ngx和HAProxy都有一个相同的问题,就是当后端开发服务项目(一般称为上游或后端)发生变化(是否一切都可以正常工作,发布,退出和扩展)时,动态更新Ngx和HAProxy的环境变量和轻载服务项目并不容易,虽然一些特殊的工具如Registrator,Consul和Consul-Template可以做到这一点。
图1:微服务架构的一般需求分布图。
与Nginx和HAProxy不同,Traefik更适合需要服务发现和服务项目注册的应用领域。比如Traefik很容易和Docker紧密结合,只需要一个特定的标签(虽然可以应用dockerrunspecific标签,但是更强烈建议应用docker-compose.ymlspecific)。试试例子可以马上参考官网,也可以参考下面的例子,比较简单易懂。必须强调的是,Traefik不仅与Docker紧密结合,还与Docker、Swarm、Mesos/Marathon、Consult、ETCD、Zookeeper、BoltDB、AmazonECS、RESTAPI、File...其实可以参考官网,谷歌一下。
图2:2:Traefik如何管理需求?
一个简单的测试
1.建立Traefik服务项目,可以应用Docker和cmd方法。
注意:不了解docker-compose的可以先学习和训练docker-compose的英文语法和应用,或者直接忽略,然后根据下面相对的文件目录结构、文档和说明来构建。
Docker-compose.yml文档有以下内容:
version: '2' services: traefik: p_w_picpath: traefik:latest restart: unless-stopped command: --web --docker --docker.domain=docker.localhost --logLevel=DEBUG networks: - webgateway ports: - "80:80" - "8080:8080" - "443:443" volumes: - /var/run/docker.sock:/var/run/docker.sock - /dev/null:/traefik.toml networks: webgateway: driver: bridge2.将whoami作为简单的HTTPWeb服务应用:
Docker-compose.yml文档有以下内容:
version: '2' services: whoami: p_w_picpath: emilevauge/whoami networks: - web labels: - "traefik.backend=whoami" - "traefik.frontend.rule=Host:whoami.docker.localhost" networks: web: external: name: traefikself_webgateway3.根据docker-composelogstraefik说明查询Traefik日志:
4.使用docker-composescalewhoami=3指令扩展三个whoami的应用,观察浏览状态。根据CURL结果可以发现,默认设置是轮询wrr。
5.Traefik有一个DashboardWebUI,可以根据网页掌握今天在Traefik的运行状态和连接点的身心健康状况。
大量引用:[/s2/]
Https://docs.traefik.io/,官方网站(英文)
应用Docker和Traefik构建微服务架构(英文)http://blog.hypriot.com/post/Microservice-bliss-with-Docker-and-traefik/
标签:traefik,docker,微服务架构
-结束-
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)