点击上方“JAVA乐园”,选择“置顶公众号”
有内涵有价值的文章第一时间送达!
一、简介
Diamond是淘宝研发的分布式配置管理系统。使用Diamond可以让集群中的服务进程动态感知数据的变化,无需重启服务就可以实现配置数据的更新。
具有简单、可靠、易用等特点
二、使用方法
服务端搭建
1 准备工作
安装jdk
安装maven
安装tomcat
安装mysql
2 启动mysql并创建数据库和表
-- 创建Diamond数据库
CREATE DATABASE IF NOT EXISTS `diamond` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `diamond`;
-- 配置表
CREATE TABLE IF NOT EXISTS `config_info` (
`id` bigint(64) unsigned NOT NULL AUTO_INCREMENT,
`data_id` varchar(255) NOT NULL DEFAULT '',
`group_id` varchar(128) NOT NULL DEFAULT '',
`content` longtext NOT NULL,
`md5` varchar(32) NOT NULL DEFAULT '',
`src_ip` varchar(20) DEFAULT NULL,
`src_user` varchar(20) DEFAULT NULL,
`gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_config_datagroup` (`data_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- 组表
CREATE TABLE IF NOT EXISTS `group_info` (
`id` bigint(64) unsigned NOT NULL AUTO_INCREMENT,
`address` varchar(70) NOT NULL DEFAULT '',
`data_id` varchar(255) NOT NULL DEFAULT '',
`group_id` varchar(128) NOT NULL DEFAULT '',
`src_ip` varchar(20) DEFAULT NULL,
`src_user` varchar(20) DEFAULT NULL,
`gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
PRIMARY KEY (`id`), UNIQUE KEY `uk_group_address` (`address`,`data_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
3 下载源码
git clone https://github.com/gzllol/diamond.git
4 打包
修改diamond-server/src/main/resources/system.properties文件,将diamond.server.addr的值换成Diamond服务器所在机器的ip地址
修改diamond-server/src/main/resources/jdbc.properties文件,配置mysql服务器的url,用户名和密码
在根目录执行打包命令
mvn clean package -Dmaven.test.skip=true
5 用tomcat加载diamond-server/target/diamond-server.war
客户端使用
1 将diamond-client jar包发布到maven仓库
mvn clean deploy -Dmaven.test.skip=true
2 在工程中引入jar包
<dependency>
<groupId>com.taobao.diamond</groupId>
<artifactId>diamond-client</artifactId>
<version>2.0.5.4.taocode-SNAPSHOT</version>
</dependency>
3 使用例子
DiamondManager manager = new DefaultDiamondManager("${your_config_data_id}", new ManagerListener() {
@Override
public Executor getExecutor() {
return null;
}
@Override
public void receiveConfigInfo(String configInfo) {
System.out.println("receive config: " + configInfo);
}
});
4 在配置中心界面添加一个配置
登陆配置中心(本机是127.0.0.1:8080),用户名abc,密码123
点击左侧“配置信息管理”
点击添加配置信息
输入data_id(就是配置的id,3中的${your_config_data_id})和配置内容
点击“提交”
在更新配置时,客户端会调用ManagerListener的回调函数receiveConfigInfo,参数就是最新的配置内容
【惠创科技招聘】基于当前软件研发人才稀缺,软件培训机构乱收费(让学生贷款等)、就业难等诸多问题,广州惠创信息科技公司与广州软件人才实训基地联合创办软件人才实训基地,免费(不需要贷款或收费)提供JAVA、人工智能等方向的软件技术提升与就业推荐,为在校生(可提供实习证明)、毕业生、有意转IT行业人士提供学习与就业机会。
地址1:广州天河软件园凤凰园区
地址2:广州番禺钟一商务中心旁。把握机会,欢迎咨询Q号:386777981,wei*xin号:linzhaoliang168
电话02039989660
详情关注:http://www.gzhuichuang.cn/zhaopin.htm
看到这里了,不关注一下么
JAVA乐园
一码不扫,何扫天下
推荐阅读
更多精彩文章,请点击下方:阅读原文