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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

微服务部署HTTP反向代理、负载均衡工具Træfɪk

發布時間:2025/7/25 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微服务部署HTTP反向代理、负载均衡工具Træfɪk 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

from: https://docs.traefik.cn/

Tr?f?k 是一個為了讓部署微服務更加便捷而誕生的現代HTTP反向代理、負載均衡工具。 它支持多種后臺 (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) 來自動化、動態的應用它的配置文件設置。

概覽

假設你已經在你的基礎設施上部署了一堆微服務。你可能使用了一個服務發現系統(例如 etcd 或 consul)或者一個資源管理框架(swarm,Mesos/Marathon)來管理所有這些服務。 如果你想讓你的用戶去從互聯網訪問你的某些微服務, 你就必需使用虛擬hosts或前綴路徑來配置一個反向代理:

  • 域名 api.domain.com 將指向你的私有網絡中的微服務 api
  • 路徑 domain.com/web 將指向你的私有網絡中的微服務 web
  • 域名 backoffice.domain.com 將指向你的私有網絡中的微服務 backoffice ,在你的多臺實例之間負載均衡

但一個微服務的結構時動態的。。。 服務在會經常被添加、移除、殺死或更新,可能一天之內就會發生許多次。

傳統的反向代理原生不支持動態配置。你不可能輕易的通過熱更新更改它們的配置。

這時,Tr?f?k就誕生了。

Tr?f?k 可以監聽你的服務發現、管理API,并且每當你的微服務被添加、移除、殺死或更新都會被感知,并且可以自動生成它們的配置文件。 指向到你服務的路由將會被直接創建出來。

運行它并忘記它吧!

快速上手

你可以通過這個 Katacoda 教程 快速感受Traefik是如何在多個Docker容器間負載均衡的。

這里有一個 Ed Robinson 在 ContainerCamp UK 會議中的演講。 你將從中發現 Tr?f?k 的基本特性并看到更多Tr?f?k與Kubernetes的示例。

這里有一個 Emile Vauge 在法國 Devoxx France 2016 會議中的演講。 你將從中發現 Tr?f?k 的基本特性并看到更多Tr?f?k與Docker, Mesos/Marathon 和 Let’s Encrypt的示例。

獲取

二進制文件

從 版本下載 頁面下載最新的可執行文件并以這個 示例配置文件 運行:

./traefik -c traefik.toml

Docker

通過Docker鏡像:

docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik

測試

你可以簡單的通過Docker compose測試 Tr?f?k, 將這個 docker-compose.yml 文件放在名稱叫做 traefik的目錄下:

version: '2'services:proxy:image: traefikcommand: --web --docker --docker.domain=docker.localhost --logLevel=DEBUGnetworks:- webgatewayports:- "80:80"- "8080:8080"volumes:- /var/run/docker.sock:/var/run/docker.sock- /dev/null:/traefik.tomlnetworks:webgateway:driver: bridge

在名稱叫做 traefik 的目錄下運行:

docker-compose up -d

在瀏覽器中你可以打開 http://localhost:8080 來訪問 Tr?f?k 的控制后臺來發現下面的魔法。

現在, 創建一個名稱為test 的目錄,并在目錄中使用以下內容創建一個 docker-compose.yml 文件:

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

然后, 在 test 目錄下按順序執行以下命令:

docker-compose up -d docker-compose scale whoami=2

最后, 測試 test_whoami_1 和 test_whoami_2這兩個服務之間的負載均衡:

$ curl -H Host:whoami.docker.localhost http://127.0.0.1 Hostname: ef194d07634a IP: 127.0.0.1 IP: ::1 IP: 172.17.0.4 IP: fe80::42:acff:fe11:4 GET / HTTP/1.1 Host: 172.17.0.4:80 User-Agent: curl/7.35.0 Accept: */* Accept-Encoding: gzip X-Forwarded-For: 172.17.0.1 X-Forwarded-Host: 172.17.0.4:80 X-Forwarded-Proto: http X-Forwarded-Server: dbb60406010d$ curl -H Host:whoami.docker.localhost http://127.0.0.1 Hostname: 6c3c5df0c79a IP: 127.0.0.1 IP: ::1 IP: 172.17.0.3 IP: fe80::42:acff:fe11:3 GET / HTTP/1.1 Host: 172.17.0.3:80 User-Agent: curl/7.35.0 Accept: */* Accept-Encoding: gzip X-Forwarded-For: 172.17.0.1 X-Forwarded-Host: 172.17.0.3:80 X-Forwarded-Proto: http X-Forwarded-Server: dbb60406010d

總結

以上是生活随笔為你收集整理的微服务部署HTTP反向代理、负载均衡工具Træfɪk的全部內容,希望文章能夠幫你解決所遇到的問題。

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