怎么使用zk-etcd-config

本篇内容主要讲解“怎么使用zk-etcd-config”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用zk-etcd-config”吧!

我们提供的服务有:成都网站制作、成都网站设计、微信公众号开发、网站优化、网站认证、抚远ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的抚远网站制作公司

zk-etcd-config是一款轻量级的动态属性配置接口,同时支持etcd v3和zookeeper两种中间件

github地址

用zk-etcd-config可以灵活切换使用etcd或者zookeeper作为动态属性配置中间件,用简便的接口来监听属性值的动态变化。

示例代码

(1)使用: 假设我们的系统有两个参数需要动态配置,当该系统的微服务集群启动后,需要动态捕捉到这两个参数值的变化,如果我们使用zookeeper作为中间件存储,讲所有的参数组装成一个类似properties.application的文件内容,格式如下:

param1=value1
param2=value2

那么我们可以将上面的配置内容写到zookeeper的/config节点的data中。当/config中param1或者param2的值变化时,通过IWatcher接口实时接收变动通知。 示例代码

String kind="zookeeper";
String hosts="localhost:2181,localhost:2183";
String path="/config";

IConfiger config = ConfigerFactory.createFactory(kind, hosts, path);
config.start();
String value = config.get("param1");
LOG.error("###key={},value={}", "param1", value);
IWatcher w = new TestWatcher();
config.addWatcher("param1", w);

TestWatcher是自定义的类,实现IWatcher接口:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import houyijun.dynamic.config.IWatcher;
public class TestWatcher implements IWatcher{
	private static final Logger LOG = LoggerFactory.getLogger(TestWatcher.class);	

	public void onChanged(String key, String oldValue, String newValue) {
		LOG.error("###changed,old={},new={}",oldValue,newValue);
	}
}

kind表示用哪种中间件,目前支持的值为: "etcd-v3" 表示用etcd的V3版本接口。 "zookeeper"表示用zookeeper的接口。 hosts表示etcd或zookeeper的地址,用","隔开,ip:port格式。 path表示动态属性在etcd或zookeeper上存储的节点路径。 IWatcher是监听事件接口,其定义为:

public interface IWatcher {
	/**
	 * watcher event happened
	 * @param key
	 * node path
	 * @param oldValue
	 * old value
	 * @param newValue
	 * new value
	 */
	void onChanged(String key,String oldValue,String newValue);
}

(2)最后退出时关闭config:

config.close();

maven pom依赖包

依赖包除了zk-etcd-config之外,还必须加上etcd和zookeeper的依赖包。

 	<dependency>
		<groupId>houyijun.dynamic</groupId>
		<artifactId>zk-etcd-config</artifactId>
		<version>0.2.0</version>
	</dependency>
	<!-- etcd V3  -->
	<dependency>
		<groupId>io.etcd</groupId>
		<artifactId>jetcd-core</artifactId>
		<version>0.4.1</version>
	</dependency>
	<!-- zookeeper client -->
	<dependency>
		<groupId>org.apache.curator</groupId>
		<artifactId>curator-recipes</artifactId>
		<version>4.0.1</version>
	</dependency>
	<dependency>
		<groupId>org.apache.zookeeper</groupId>
		<artifactId>zookeeper</artifactId>
		<version>3.4.8</version>
	</dependency>

到此,相信大家对“怎么使用zk-etcd-config”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

文章名称:怎么使用zk-etcd-config
文章路径:https://www.cdcxhl.com/article44/jjjehe.html

成都网站建设公司_创新互联,为您提供做网站静态网站微信小程序搜索引擎优化面包屑导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设