广大朋友上午好。
如标题,此篇文章则详细解释zk和zkui的搭配使用,望各位朋友打起12分精神跟着作者一起学习呦~~~
首先第一步需要把zkui搞定:
zk大家都知道,可单节点,可集群,那zkui呢?
zkui只是界面化操作而已,只需单节点即可,然后配置中增加zk的集群进行关联即可。
以下是zkui的源码,我也会分享出来,免费的哦~
第一步,获取到源码后先用idea环境打开,然后直接install即可,然后获取下图:
然后第二步放入对应的服务器:
同时把config.cfg文件移出来和zkui-2.0-SNAPSHOT-jar-with-dependencies.jar同级目录放入。
第三步更改config.cfg配置文件或者在idea中直接改好:
如图zkui的配置可以配置到数据库中,不过作者的配置形式是使用文件,也很方便,如何使用,等下会进行解释。
接下来jar包放入之后可以进行启动了
启动命令:nohup java -jar zkui-2.0-SNAPSHOT-jar-with-dependencies.jar > nohup.out 2>&1 &
查看启动日志:tail -f nohup.out
如果启动成功后,那么会看到如下界面:
登录地址:http://127.0.0.1:2182/login
对了这里说明下,springboot项目默认使用的容器是tomcat,zkui这里的容器使用的jetty。
用户名和密码就是刚才config.cfg配置中的
登录成功后:
在此我把micro-business-A-api进行服务注册,咱们来看看效果:
解压tar包
启动服务:
启动成功:
启动成功后来看zkui:
服务已成功注册。
此时三个相同的服务都已注册到zk中了。
如果关掉其中的一个或N个服务,zkui也可以检测到。
备注:此时集群中的服务一定要和zookeeper安装的服务器保持一致,否则服务启动报错,zk的安装请看"架构序列四"
注册成功了,那么我们该进行动态配置了。
刚上面作者也进行了配置方式的描述:文件配置.
配置第一步:
本地新建txt文件:
上图中:
/config :表示配置
/micro-business-A-api :表示哪个服务的配置
,test :哪种环境(test测试环境,test前面有个逗号哦)
和下图保持一致:
server.port=8290 :配种中可直接指定服务的端口号哦
配置:
/config/micro-business-A-api,test=server.port=8112
咱们直接进行多配置:
如上图,yml中能配置的这里都可以进行配置。
配置:
/config/micro-business-A-api,test=server.port=8112
/config/micro-business-A-api,test=spring.profiles.active=test
/config/micro-business-A-api,test=spring.datasource.dynamic.primary=master
/config/micro-business-A-api,test=spring.datasource.dynamic.strict=false
/config/micro-business-A-api,test=spring.datasource.dynamic.datasource.master.url=jdbc:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
/config/micro-business-A-api,test=spring.datasource.dynamic.datasource.master.username=root
/config/micro-business-A-api,test=spring.datasource.dynamic.datasource.master.password=123456
/config/micro-business-A-api,test=spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.jdbc.Driver
/config/micro-business-A-api,test=spring.datasource.dynamic.datasource.test.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
/config/micro-business-A-api,test=spring.datasource.dynamic.datasource.test.username=root
/config/micro-business-A-api,test=spring.datasource.dynamic.datasource.test.password=123456
/config/micro-business-A-api,test=spring.datasource.dynamic.datasource.test.driver-class-name=com.mysql.jdbc.Driver
/config/micro-business-A-api,test=mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
配置好了直接上传文件:
配置已完成。
这是micro-business-A-api目前测试环境的yml配置
咱们既然已经在zkui中配置好了,那么yml中不需要的就可以删除啦:
大家记得哦,以后所有的配置类都不用在yml中增加了,只需要在zkui中配置即可。
那么如果我需要新增配置该怎么增呢?如下图:
好了~,我们既然把yml中的配置都干掉了,也应该测试下啦~
重新打包部署:
启动成功
那到底是否达到动态配置了呢?大家跟着作者来验证下:
从以上的微服务日志可看出只要更改了zkui的配置内容,则服务直接进行同步刷新,而且是集群的哦,就是就算有N台机器部署了相同的服务,只要zkui进行一次更改,此N台机器的微服务同时动态更新。
动态配置确实给我们维护带来了更多的方便,比如:我们服务的第一版本调用的是A机器的mysql,但是到第三版本的时候A机器的mysql下线了,需要更换到B机器的mysql。如果没有动态配置,那么我们是不是要一台机器一台机器进行登录,然后更改微服务的配置文件,然后更改完了还得重新启动,这太麻烦了,如果有10台机器(集群)呢?20台呢? 动态配置可让我们不到一分钟内搞定,这难道不香吗?
好了,到此今天的分享就结束了,都会了吗?大家可私下在micro-business-B-api中学练手习。当然,作者也非常欢迎和各位新旧朋友一起讨论,一起学习~
整套架构初步规划包含技能点:
springcloud、springboot、mybatis、分环境打包、mybatis-plus、动态数据源、druid、增删改查一键生成、quartz集群、注册中心:zookeeper+zkui和nacos、gateway网关、feign的使用、熔断机制、如何防止雪崩、分布式+集群、一个项目如何进行zk和nacos同时使用、动态配置:一个配置,所有集群节点共同热点使用。
源码获取方式:
请关注以下公众号并回复: code