docker下使用disconf:極速體驗
前面的文章中我們實戰了docker下搭建disconf環境,現在我們學習如何使用disconf提供的動態配置服務,本章我們不深入研究,而是以最快的速度體驗一個Java做的demo,此demo的功能是每隔5秒輸出一組來自disconf的配置信息,內容是一個ip地址和一個端口,如果在disconf上改變了這個配置信息的內容,這個demo會立即收到配置改變的通知,並且再次輸出的時候已經是最新的配置了;
下面開始極速體驗吧:
新建一個Docker-compose.yml文件,內容如下:
version: ‘2‘
services:
disconf_redis_1:
image: daocloud.io/library/redis
restart: always
disconf_redis_2:
image: daocloud.io/library/redis
restart: always
disconf_zookeeper:
image: zookeeper:3.3.6
restart: always
disconf_mysql:
image: bolingcavalry/disconf_mysql:0.0.1
environment:
MYSQL_ROOT_PASSWORD: 123456
restart: always
disconf_tomcat:
image: bolingcavalry/disconf_tomcat:0.0.1
links:
- disconf_redis_1:redishost001
- disconf_redis_2:redishost002
- disconf_zookeeper:zkhost
- disconf_mysql:mysqlhost
restart: always
disconf_nginx:
image: bolingcavalry/disconf_nginx:0.0.1
links:
- disconf_tomcat:tomcathost
ports:
- "80:80"
restart: always
disconf_java:
image: bolingcavalry/disconf_standalone_demo:0.0.1
links:
- disconf_nginx:nginxhost
- disconf_zookeeper:zkhost
restart: always
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
打開控制臺,在上述文件目錄下執行:
docker-compose up -d
- 1
- 1
由於要去hub.docker.com上下載六個鏡像,可能會一段等待下載的時間,下載結束後會自動創建七個容器,如下圖:
上圖紅框中的就是我們今天體驗demo的容器名稱(註意:不同電腦上容器的前綴後綴的數字可能不一樣),執行以下命令進入到demo容器中:
docker exec -it 05_disconf_java_1 /bin/bash
- 1
- 1
進入容器後,進入/usr/local/work目錄下,執行./start.sh命令啟動demo,控制臺輸出如下圖:
如上圖紅框所示,每隔五秒鐘就會有輸出一個配置信息,包括IP和端口,這些數據從何而來呢?
我們在瀏覽器上輸入localhost可以打開disconf管理頁面,用戶名密碼都是admin,登錄成功後按照下圖所示操作,就能看到這個demo裏用到的配置信息:
接下來我們體驗一下配置變化後,demo上被實時通知變化的效果,點擊下圖紅框中的位置:
如下圖,修改方式選擇“輸入文本“:
把配置文件的值改成另一個,如下圖紅框所示,改完再點擊底部的“上傳“按鈕:
回到demo容器的控制臺,如下圖,可以看到點擊上傳按鈕的同時,控制臺輸出了收到通知的信息(紅框中的內容),並且輸出的ip已經變成最新的了(籃框中的內容):
以上就是簡單體驗disconf效果的簡易demo,可以發現disconf的配置信息能讓服務使用方實時感知和獲取到,對開發和運營來說都是個很有用的工具,本章只是初步體驗,下一章我們會通過代碼對disconf的使用做進一步了解。
docker下使用disconf:極速體驗