日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

利用Traefik+Docker构建可弹性扩展的微服务或服务集群

發布時間:2025/4/5 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用Traefik+Docker构建可弹性扩展的微服务或服务集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

Traefik是一個與Nginx、HAProxy有些相似的HTTP反向代理服務器,兼有負載均衡的功能。Nginx和HAProxy都有一個相同的問題就是,后端服務(通常稱之為upstream或backend)變化(是否能正常工作、上線、下線、擴展)時,不容易動態更新Nginx和HAProxy的配置文件和重載服務,盡管有一些類似于Registrator, ConsulConsul-Template 這樣的工具可以來做這樣的事。

圖1:微服務常見的一種請求分發圖。

與Nginx、HAProxy不同的是,Traefik更適合需要服務發現和服務注冊的應用場景。例如,Traefik與Docker相結合非常容易,只需要指定label即可(雖然可以使用docker run指定label,但更推薦使用docker-compose.yml指定)。演示的例子直接可以參考官方網站,也可以參考下面的例子,非常簡單并通俗易懂。需要指出的是Traefik并不是只能與Docker相結合,Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Amazon ECS, Rest API, file...都可以。具體的可以參考官方網站和Google it。

圖2:Traefik是如何管理請求的

一個簡單的演示:

1.創建Traefik服務,可以使用Docker也可以使用命令行的方式。

注意:不熟悉docker-compose的可以先學習一下docker-compose的語法和應用,或者直接忽略它,再根據下文的相對目錄結構、文件和命令創建。

docker-compose.yml 文件內容如下:

version:?'2'???? services:?????traefik:?????image:?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:?bridge


2.使用whoami應用作為一個簡易的HTTP Web服務:

docker-compose.yml 文件內容如下:

version:?'2'???? services:?????whoami:?????image:?emilevauge/whoami?????networks:?????-?web?????labels:?????-?"traefik.backend=whoami"?????-?"traefik.frontend.rule=Host:whoami.docker.localhost" networks:????web:?????external:?????name:?traefikself_webgateway

3.通過docker-compose logs traefik命令查看Traefik日志:

4.使用docker-compose scale whoami=3 命令擴展3個whoami應用,觀察訪問情況,通過CURL結果可以發現默認是輪詢的wrr。

5.Traefik有一個Dashboard Web UI,可以通過網頁了解當前Traefik中的運行情況和節點的健康狀態。

更多參考:

官方網站(英文):https://docs.traefik.io/

使用Docker和Traefik構建微服務(英文) http://blog.hypriot.com/post/microservices-bliss-with-docker-and-traefik/

tag:traefik,docker,微服務

--end--

總結

以上是生活随笔為你收集整理的利用Traefik+Docker构建可弹性扩展的微服务或服务集群的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。