真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么使用zk-etcd-config

本篇內(nèi)容主要講解“怎么使用zk-etcd-config”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么使用zk-etcd-config”吧!

我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、撫遠(yuǎn)ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的撫遠(yuǎn)網(wǎng)站制作公司

zk-etcd-config是一款輕量級(jí)的動(dòng)態(tài)屬性配置接口,同時(shí)支持etcd v3和zookeeper兩種中間件

github地址

用zk-etcd-config可以靈活切換使用etcd或者zookeeper作為動(dòng)態(tài)屬性配置中間件,用簡(jiǎn)便的接口來(lái)監(jiān)聽(tīng)屬性值的動(dòng)態(tài)變化。

示例代碼

(1)使用: 假設(shè)我們的系統(tǒng)有兩個(gè)參數(shù)需要?jiǎng)討B(tài)配置,當(dāng)該系統(tǒng)的微服務(wù)集群?jiǎn)?dòng)后,需要?jiǎng)討B(tài)捕捉到這兩個(gè)參數(shù)值的變化,如果我們使用zookeeper作為中間件存儲(chǔ),講所有的參數(shù)組裝成一個(gè)類(lèi)似properties.application的文件內(nèi)容,格式如下:

param1=value1
param2=value2

那么我們可以將上面的配置內(nèi)容寫(xiě)到zookeeper的/config節(jié)點(diǎn)的data中。當(dāng)/config中param1或者param2的值變化時(shí),通過(guò)IWatcher接口實(shí)時(shí)接收變動(dòng)通知。 示例代碼

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是自定義的類(lèi),實(shí)現(xiàn)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的地址,用","隔開(kāi),ip:port格式。 path表示動(dòng)態(tài)屬性在etcd或zookeeper上存儲(chǔ)的節(jié)點(diǎn)路徑。 IWatcher是監(jiān)聽(tīng)事件接口,其定義為:

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)最后退出時(shí)關(guān)閉config:

config.close();

maven pom依賴包

依賴包除了zk-etcd-config之外,還必須加上etcd和zookeeper的依賴包。

 	
		houyijun.dynamic
		zk-etcd-config
		0.2.0
	
	
	
		io.etcd
		jetcd-core
		0.4.1
	
	
	
		org.apache.curator
		curator-recipes
		4.0.1
	
	
		org.apache.zookeeper
		zookeeper
		3.4.8
	

到此,相信大家對(duì)“怎么使用zk-etcd-config”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


當(dāng)前名稱(chēng):怎么使用zk-etcd-config
鏈接URL:http://weahome.cn/article/jjjehe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部