disconf安装与使用

打war包的过程,mysql,zk,及redis等的安装过程这里都省略了。自己动手安装即可。

提醒一下打包sh命令cd disconf-web  shdeploy/deploy.sh,只能在该目录,有些东西兼容性可能不是很好。当然war包也可以不再linux下打,直接在window打包最终只要你能弄成tomcat支持的形式就可以了

一、打包

下载源码(https://github.com/zouheliang2011/disconf)后最好是到linux下面打包,因为它的打包脚本是shell脚本。注意里面的lib依赖包达61个之多

二、安装

安装这里跳过,nginx tomcat jdk zkredis mysql等依赖软件的安装,我们主要讲disconf的安装。这里要将打出的包放在tomcat的webapp目录下同时天剑一个context配置项在host中,tomcat端口是否修改,看具体情况,客户端参考给的网站有详细启动过程,效果如下:

安装过程中刷表默认的用户名和密码是admin/admin ,可以在源码中找到修改密码的那段代码然后自己生成一个加密后的密码手动如表,可以创建一个新用户。

三、配置

在启动disconf-web后需要测试一下功能,最好是直接下载git上的demo代码,在本地跑起得来就可以,客户端配置的关键点:disconf.properties  配置项说明:http://disconf.readthedocs.io/zh_CN/latest/config/src/client-config.html#disconf-client最主要的就是他类似maven,是通过GAV来识别disconf在哪的。 然后还要配置好Disconf-web服务端配置主要有四个配置文件要修改zoo.properties application.properties redis-config.properties jdbc-mysql.properties。配置好服务端后启动tomcat,查看启动日志,并,如果有安装多个节点可以通过nginx来配置反向代理,策略自己定。

真正的数据使用端需要在maven中怎么disconf-clent的pom依赖,如果不是maven工程需要自己另外起一个springcontext来扫描加载disconf客户端,此处要注意,我们目前只有在jdk 1.8版本下才能正常启动客户端的服务,并读取配置文件。这里可以看一下我们目前已经条了的application.xml文件。里面是怎么扫描服务,托管配置文件的。最终我们的配置项或者配置文的内容是会写入zk,当zk中的数据有变化的时候,客户端注册的监听就会发现数据有变更,从而更新数据,从而达到只要配置中心的数据有变化,所有的客户端数据有已经发生改变了。Git上还介绍了更加详细的监听服务的实现。

四、原理

Disconf通过disconf-web管理配置信息,然后将配置的key在Zookeeper上建立节点,disconf-client启动后拉取自身需要的配置信息并监听Zookeeper的节点。在web上更新配置信息会触发zk节点状态的变动,client可以实时感知到变化,然后从web上拉取最新配置信息。

 

原理-client

需要注意的地方:

1、  zk可以只安装一个,但是配置的时候一定也要只配置一个,最好版本匹配,目前我正在使用的是3.3.6,和git上引用的是同一个版本。如果连zk不上可以参考:https://www.bbsmax.com/A/obzbkb9QJE/

2、  打出来的war包我是手动部署到tomcat的webapps下面的,并在tomcat的server.xml中增加

<Context path=""docBase="D:\\tools\\apache-tomcat-8.5.20-windows-x64\\apache-tomcat-8.5.20\\webapps\\disconf\\war"></Context>,这里注意双斜杠。

3、  启动后在没有ngnix下直接访问war包中html里面的index.html,测试是否正确的部署了web,然后在配置nginx,否则所有按钮就会找不到对应的路径:注意:

location / { 

   rootD:/tools/apache-tomcat-8.5.20-windows-x64/apache-tomcat-8.5.20/webapps/disconf/war/html; 

   if ($query_string) { 

       expires max; 

   } 

}  此处 root的写法,比context中多了一个html,同时,注意要用斜杠,或者双反斜杠,否则nginx访问不到。

 

4、  测试可以下载一下demo,通过springboot启动后可以看到打印的东西,这里没有必要每个都测试,可以将没有必要的配置项读取删除,暂时只遇到了这些问题,后面继续更新

最后,如果要创建用户,修改密码什么的都有静态方法,可以看源码,操作数据库,或者调用api接口,web端没有创建用户的入口

猜你喜欢

转载自blog.csdn.net/moonpure/article/details/81120280