在預設網路模型中,容器每次重啟後,ip會發生變動,在乙個大的分布式系統保證ip位址不變是比較複雜的事情
ip頻繁發生變動,動態應用部署無法預知容器的ip位址,client端如何發現server端的訪問端點?
解決方案
核心空間 lvs/ipvs
使用者空間 nginx
使用者空間 haproxy
測試步驟:
1.在伺服器中搭建乙個nginx伺服器並啟動,具體過程可參考 這裡不在建立
2.在docker中從源中拉一下nginx的官方映象,docker pull nginx,留著備用
3.在本地目錄新建兩個資料夾,我這裡的新建在/mydata/test1,/mydata/test2/
4.分別在兩個test資料夾中新建index.html來標誌,在第乙個html中輸出this is nginx1,在第二個html中輸出this is nginx2,
5.通過docker執行兩個nginx伺服器的容器,並分別將靜態目錄對映到我們剛剛建立的目錄中
[root@catchtouch test2]# docker run --name nginx-test -d -p 8080:80 -v /mydata/test1:/usr/share/nginx/html nginx #第乙個,將8080埠對映到容器中的80埠
[root@catchtouch test2]# docker run --name nginx-test1 -d -p 8081:80 -v /mydata/test2:/usr/share/nginx/html nginx #第二個,將容器中的8081埠對映到容器中的80埠
6.修改宿主機中的nginx的配置檔案
在http{}中新增如下**
upstream myweb
7.進入conf.d目錄,修改default.conf(conf.d中沒有此檔案可以新建,檔名隨意,字尾必須是.conf)
location /
8.儲存後退出,重啟伺服器:systemctl restart nginx
9.通過瀏覽器輸入當前網域名稱,並重新整理頁面,有時輸出nginx1,有時輸出nginx2,配置成功
至此,乙個簡答的負載均衡模型配置完成
docker容器間的負載均衡
場景 第一次寫文章有點害怕,心理慌慌的,寫得不好的或是不對的,還請指點。在最近一次開發過程中遇見這個這樣的問題 在面臨突發性大量使用者湧進系統的時候,伺服器的資源使用並不高,cpu使用率28 左右,記憶體的使用率40 左右但是依然會造成系統卡頓,請求超時等問題。百思不得其解頭髮都快抓掉完了 系統也未...
docker演示nginx負載均衡
背景 在上篇docker演示nginx反向 基礎上繼續 1.分別編寫load balancing 8000.py load balancing 8001.py指令碼 注意指令碼對應埠分別為8000 8001 usr bin python3 coding utf 8 from flask import...
Docker容器實現Nginx的負載均衡
準備工作 docker 主機 192.168.1.10 tomcat latest tomcat1 tomcat latest tomcat2 nginx latest nginx 準備好nginx 和 tomcat 映象 root localhost docker images repositor...