博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】Diamond -- 分布式配置中心
阅读量:6689 次
发布时间:2019-06-25

本文共 2683 字,大约阅读时间需要 8 分钟。

特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:

一、简介

  • 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 打包

  1. 修改diamond-server/src/main/resources/system.properties文件,将diamond.server.addr的值换成Diamond服务器所在机器的ip地址
  2. 修改diamond-server/src/main/resources/jdbc.properties文件,配置mysql服务器的url,用户名和密码
  3. 在根目录执行打包命令
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包

com.taobao.diamond
diamond-client
2.0.5.4.taocode-SNAPSHOT

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 在配置中心界面添加一个配置

  1. 登陆配置中心(本机是127.0.0.1:8080),用户名abc,密码123
  2. 点击左侧“配置信息管理”
  3. 点击添加配置信息
  4. 输入data_id(就是配置的id,3中的${your_config_data_id})和配置内容
  5. 点击“提交”
  6. 在更新配置时,客户端会调用ManagerListener的回调函数receiveConfigInfo,参数就是最新的配置内容

5原文地址

转载于:https://www.cnblogs.com/mao2080/p/7220524.html

你可能感兴趣的文章
SHARP MX-M261N需要维护的消除方法
查看>>
我的友情链接
查看>>
云原生生态周报 Vol. 6 | KubeCon EU 特刊
查看>>
mysqldump 多个表导出
查看>>
Linux Shell 基本概念及编程(5)
查看>>
RDBMS DBMS MS DB
查看>>
这个女孩一路走来--我的it,我的命
查看>>
Webbuilder Extjs中Combobox值选中注意事项
查看>>
我的友情链接
查看>>
svn 实践
查看>>
在 PowerShell 中使用 SQL Server (3)
查看>>
我的友情链接
查看>>
CSS元素定位
查看>>
质量时代——“Jolt大奖精选丛书”有奖征文
查看>>
Python list方法总结
查看>>
DNS服务器维护命令
查看>>
PHP DES加密解密封装类
查看>>
python 之time和datetime的搭配秘密
查看>>
授之以渔-运维平台应用模块三(BIND篇)
查看>>
初始API编程
查看>>