整合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等各種請求方 ...