日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

簡介

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

圖1:微服務(wù)常見的一種請求分發(fā)圖。

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

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

一個簡單的演示:

1.創(chuàng)建Traefik服務(wù),可以使用Docker也可以使用命令行的方式。

注意:不熟悉docker-compose的可以先學習一下docker-compose的語法和應(yīng)用,或者直接忽略它,再根據(jù)下文的相對目錄結(jié)構(gòu)、文件和命令創(chuàng)建。

docker-compose.yml 文件內(nèi)容如下:

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應(yīng)用作為一個簡易的HTTP Web服務(wù):

docker-compose.yml 文件內(nèi)容如下:

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應(yīng)用,觀察訪問情況,通過CURL結(jié)果可以發(fā)現(xiàn)默認是輪詢的wrr。

5.Traefik有一個Dashboard Web UI,可以通過網(wǎng)頁了解當前Traefik中的運行情況和節(jié)點的健康狀態(tài)。

更多參考:

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

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

tag:traefik,docker,微服務(wù)

--end--

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。