disconf-client-for-java

一、disconf客户端部署

disconf目前仅支持java客户端,下文针对java客户端安装作为整理,记录下安装部署的步骤

1.环境依赖

首先需要安装java环境及maven环境,不再过多介绍

2.下载disconf-for-java客户端

  [root@shuke client]# git clone https://github.com/knightliao/disconf-demos-java.git

[root@minion client]# tree -L 2
.
└── disconf-demos-java
├── disconf-spring-boot-demo      使用disconf的基于Spring的standalone demo程序
├── disconf-standalone-demo       集成了disconf和dubbo的基于Spring的standalone demo程序
├── disconf-standalone-dubbo-demo   使用disconf的spring-boot demo程序,更少的配置
├── pom.xml
└── README.md

4 directories, 2 files

  •  下文以disconf-standalone-demo为例
  •  编辑disconf-client客户端下载的配置文件
[root@minion rd]# vim /data/disconf/client/disconf-demos-java/disconf-standalone-demo/profile/rd/disconf.properties   

[root@minion rd]# egrep -v "^#|^$" disconf.properties 
disconf.enable.remote.conf=true                 #是否使用远程配置文件,true(默认)会从远程获取配置, false则直接获取本地配置
disconf.conf_server_host=127.0.0.1:8084            #修改为discon-web的访问地址
disconf.version=1_0_0_0                            #app对应的版本号
disconf.app=dzhops                               #app名称
disconf.env=rd                                     #app的环境
disconf.ignore=redis.properties code.properties       #忽略的分布式配置,用空格分隔
disconf.conf_server_url_retry_times=1                 #获取远程配置重试次数,默认3次
disconf.conf_server_url_retry_sleep_seconds=1         #获取远程配置 重试时休眠时间,默认是5秒
disconf.user_define_download_dir=./disconf/download   #用户定义的下载文件夹, 远程文件下载后会放在这里。注意,此文件夹必须有有权限,否则无法下载到这里
disconf.enable_local_download_dir_in_class_path=true  #下载的文件会被迁移到classpath根路径下,强烈建议将此选项置为 true(默认是true)
  •  编辑disconf-client客户端下载对应文件的配置文件(内容为需要下载的,自己在本地部署的应用程序所依赖的文件,从disconf-web下载)
[root@minion resources]# vim /data/disconf/client/disconf-demos-java/disconf-standalone-demo/src/main/resources/applicationContext.xml

 26     <!-- 使用托管方式的disconf配置(无代码侵入, 配置更改会自动reload)-->
 27     <bean id="configproperties_disconf"
 28           class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean">
 29         <property name="locations">
 30             <list>
 31                 <value>classpath:/server.cfg</value>    #从disconf-web下载的文件,存放在discon-web服务器上面,启动disconf-client客户端,文件将会被下载
 32                 <value>classpath:/settings.py</value>   #从disconf-web下载的文件,存放在disconf-web服务器上面,启动disconf-client客户端,文件将会被下载
 37             </list>
 38         </property>
 39     </bean>

3.使用maven构建项目

[root@minion disconf-demos-java]# pwd
/data/disconf/client/disconf-demos-java
[root@minion disconf-demos-java]# mvn package                   #构建下载环境依赖
[root@minion disconf-demos-java]# cd disconf-standalone-demo/
[root@minion disconf-standalone-demo]# cat README.md            #查看readme说明
[root@minion disconf-standalone-demo]# mvn clean package        #构建环境,生成target目录

[root@minion disconf-standalone-demo]# cd target/
[root@minion target]# ls
classes disconf-standalone-demo.jar disconf-standalone-demo.tar.gz maven-archiver maven-status original-disconf-standalone-demo.jar starter-run
[root@minion target]# cd starter-run/
[root@minion starter-run]# ls
disconf.properties disconf-standalone-demo.jar env logback.xml start.sh stop.sh    #启动及停止客户端程序目录,disconf.properties为配置文件

4.启动client进程

[root@minion starter-run]# sh start.sh   #启动进程
[root@minion starter-run]# sh stop.sh    #停止进程

[root@shuke starter-run]# ps -ef | grep "disconf-standalone-demo.jar"      #查找客户端进程是否运行,可以在log目录下查看相关日志
root 20075 1 22 00:20 pts/2 00:00:04 java -server -Xms1024m -Xmx1024m -Xmn448m -Xss256K -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=64m -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=2 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Dlogback.configurationFile=file:logback.xml -jar disconf-standalone-demo.jar
root 20098 3975 0 00:20 pts/2 00:00:00 grep disconf-standalone-demo.jar

5.文件下载检查

文件下载成功后会存放在当前路径及disconf/download目录下,如果在disconf-web端修改文件内容,客户端会自动检测并下载更新.

原文地址:https://www.cnblogs.com/aslongas/p/6693756.html