docker搭建分布式服務架構

2021-10-17 20:07:04 字數 2260 閱讀 8780

整合dubbo,redis,rabbitmq,mysql中介軟體的分布式架構

用於docker例子中

#概要設計:

1.搭建zk,redis,mysql,rabbitmq,dubbo-admin,jenkins,nginx中介軟體服務

2.倆臺業務伺服器a和b,a負責提供dubbo介面包括資料庫操作,redis操作,傳送mq,b負責呼叫dubbo介面並保留http介面和消費mq

3.使用nginx作為閘道器層,暴露b服務的http介面

4.後台有dubbo後台,jenkins後台,rabbitmq後台;賬號密碼統一為root

#詳細設計:

實驗映象選擇如下:

mysql: mysql:latest 資料庫 使用最新的

redis: redis:latest 快取redis 使用最新的

zookeeper: zookeeper:latest 使用最新的

rabbitmq: rabbitmq:3.8.11-management 預設版本是不支援後台的,此版本支援rabbitmq後台

dubbo-admin: chenchuxin/dubbo-admin:latest dubbo服務治理後台 使用最新版本

jenkins: jenkins:latest 使用最新的

nginx: nginx:latest 使用最新的

tomcat: dataochen/tomcat8 自定義的tomcat,用來發布業務服務,支援jdk8,遠端部署,指定遠端操作的使用者名稱和密碼

#網路架構圖:

#中介軟體 引數說明:--network:指定為自定義的網路 --ip:固定ip --restart=always docker容器重啟時自動啟動

docker run --name mysql -it -d --network=dmz --ip=172.18.0.7 --restart=always -e mysql_root_password=root mysql:latest

docker run --name redis -itd --network=dmz --ip=172.18.0.5 --restart=always redis

docker run --name zk -itd --network=dmz --ip=172.18.0.6 --restart=always zookeeper

docker run --name rabbitmq -itd --network=dmz --ip=172.18.0.8  -p 8891:15672 --restart=always rabbitmq

docker run --name dubbo-admin -itd -p 8889:8080 --network=dmz --ip=172.18.0.10 --restart=always -e dubbo.registry.address=zookeeper: chenchuxin/dubbo-admin

docker run --name jenkins -itd -p 8890:8080 --network=dmz --ip=172.18.0.11 --restart=always jenkins

docker run --name nginx -itd --network=dmz --ip=172.18.0.12  -p 8888:80 --restart=always nginx

#服務 docker run --name docker_demo_provider -itd --network=dmz --ip=172.18.0.2 --restart=always dataochen/tomcat8:latest

docker run --name docker_demo_web -itd --network=dmz --ip=172.18.0.3 --restart=always dataochen/tomcat8:latest

3.其他說明

如果要宿主機重啟的時候 docker也重啟 需要執行systemctl enable docker.service,然後當docker重啟的時候,由於容器配置了--restart,也會跟著重啟。

測試url:192.168.237.130改為自己的宿主機ip

4.其他問題的解決方案

docker 容器設定固定ip教程 

tomcat配置遠端訪問部署 

vmware虛擬機器linux增加磁碟空間的擴容操作 

解決 docker 磁碟空間不足問題 

docker中的容器時區更改 

docker搭建分布式nginx tomcat

1.拉取tomcat映象 docker pull tomcat 2.建立容器 docker run d tomcat1 tomcat docker run d tomcat2 tomcat 3.檢視tomcat1和tomcat2的ip 1.拉取nginx映象 docker pull nginx 2....

python分布式架構 分布式架構

1.分布式架構 採用centos mongodb windows2012 python redis進行分布式架構搭建,mongodb的框架最核心的設計就是 mongodb和mapreduce。mongodb為海量的資料提供了儲存,則mapreduce為海量的資料提供了計算,windows2012作為...

分布式架構服務呼叫

和傳統的單體架構相比,分布式多了乙個遠端服務之間的通訊,不管是 soa 還是微服務,他們本 質上都是對於業務服務的提煉和復用。那麼遠端服務之間的呼叫才是實現分布式的關鍵因素 j a 原生 httpurlconnection是基於http協議的,支援get,post,put,delete等各種請求方 ...