TDDL+DIAMOND的配置及使用(二):Diamond

原创 2015年11月18日 17:04:16

1.下载对应diamond代码

Diamond的SVN代码库地址为:http://code.taobao.org/svn/diamond/trunk;最新版本是r20,但与TDDL匹配的版本是r16,因此我们在check时需要指定这个版本。

点击show log可以查看diamond的版本信息,直接点击OK会检出目前最新diamond版本r20


选择图中的r16版本点击OK

2.修改diamond相应配置

a).删除版本中的antx.properties文件

b)pom.xml中删除antx.properties段的配置
<filters>
<filter>${user.home}/antx.properties</filter>
</filters>

c)由于diamond依赖maven,进入diamond的trunk目录运行mvn clean package -Dmaven.test.skip命令,如图所示


d) 下图表示diamond构建成功,编译成功会生成若干个jar包和一个war包,其中diamond-server/target下的war包则是用来部署的、


e)配置diamond数据表

安装mysql数据库(diamond的数据默认是放在mysql中的,oracle亦可,但是需要大量修改diamond中的源码)

安装好mysql后,创建diamond数据库,运行如下sql

create database diamond;
grant all on diamond.* to zh@’%’  identified by ‘abc’;
CREATE TABLE `config_info` (
  `id` bigint(6) 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 '',
  `src_user` varchar(20) DEFAULT NULL,
  `gmt_create` datetime NOT NULL DEFAULT '2015-11<span style="font-family: Arial, Helvetica, sans-serif;">-05 00:00:00',</span>
  `gmt_modified` datetime NOT NULL DEFAULT '2015-11-05 00:00:00',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_config_datagroup` (`data_id`,`group_id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=gbk;

根据上一段sql,修改diamond的jdbc配置,/diamond-server/src/main/resources/jdbc.properties

db.url=jdbc:mysql://127.0.0.1:3306/diamond?characterEncoding=utf8&connectTimeout=1000&autoReconnect=true
db.user=zh
db.password=abc
db.initialSize=10
db.maxActive=150
db.maxIdle=50
db.maxWait=3000
db.poolPreparedStatements=true

e)部署diamond-server

将编译好的diamond-server.war投放到tomcat的webapp目录下,运行bin/startup.bat启动tomcat,确保生成app中生成的jdbc.properies和user.properies是正确的,然后访问http://[IP]:8080/diamond-server/ 可以进入diamond管理页面,访问的用户名和密码为webapps/diamond-server/WEB-INF/classes/user.properties中设置的用户名密码(user=123,左边为用户名,右边为密码),如果出现问题,可以查看webapps/diamond-server/WEB-INF/logs下的日志查找原因。

成功进入后的UI如图所示:
diamond-ui
其中配置信息管理用于增删改查配置信息;分组管理会出错(在r16版本中缺少相应的逻辑处理);权限管理用于修改登录用户。
我们在配置信息管理中增加一条测试信息:

DU2
dataId和Group如图所示,content随便写

f)   部署http server。http server给用户用来查找diamond-server,客户端默认访问网址http://a.b.c:8080/diamond-server/diamond 来获取数据。一般来讲,http server和diamond server是部署在不同机器上的,这里简单起见,将二者部署在同一个机器下的同一个tomcat的同一个应用中,注意,如果部署在不同的tomcat中,端口号一定是8080,不能修改(所以必须部署在不同的机器上)。
在步骤e中的diamond-server文件夹下建立diamond文件,并在本地host中写入diamond-server的IP地址:一行一个,如127.0.0.1
可以尝试访问 http://a.b.c:8080/diamond-server/diamond 测试地址是否生效。

创建diamond文件,写入ip地址


修改hosts文件,C:\Windows\System32\drivers\etc 

访问http://a.b.c:8080/diamond-server/diamond 正确情况效果如图所示


配置a.b.c的原理及相关配置可以修改,端口也可不为8080,具体请修改diamond-util中的Constants.java,如图所示


淘宝分布式配置管理服务Diamond

在一个分布式环境中,同类型的服务往往会部署很多实例。这些实例使用了一些配置,为了更好地维护这些配置就产生了配置管理服务。通过这个服务可以轻松地管理这些应用服务的配置问题。应用场景可概括为: zo...
  • kevinlynx
  • kevinlynx
  • 2014年10月12日 12:57
  • 13858

Diamond详解(1)-配置

原文:http://my.oschina.net/u/435621/blog/270483?p=1 大家好,今天开始为大家带来我们通用产品团队的产品 —— diamond的专题,本次为大家介绍...
  • lan861698789
  • lan861698789
  • 2015年09月25日 10:57
  • 1658

TDDL+DIAMOND的配置及使用(一):基本介绍

说明 因项目需求要调研一下TDDL,在调研中发现相关的资料较少,而且淘宝的社区支持做的无比的烂,TaoCode开源社区上面,几乎从来都是有人提问,无人响应,且网上相关的TDDL资料较少且巨坑无比,因...
  • pkpk20044
  • pkpk20044
  • 2015年11月18日 15:51
  • 1726

TDDL+DIAMOND的配置及使用(三):TDDL

TDDL依赖于Diamond,在Diamond部署完毕后,才可以使用TDDL。 1. 获取代码:TDDL的svn地址为:http://code.taobao.org/svn/jltddl/,直接che...
  • pkpk20044
  • pkpk20044
  • 2015年11月18日 17:06
  • 2246

[文档] TDDL和Diamond的使用(一):基本介绍

一,说明   因项目需求要调研一下TDDL,在调研中发现相关的资料较少,因此记之。   本文描述Diamond和TDDL中间件的部署和使用。   Diamond是淘宝开源的配置管理系...
  • a137268431
  • a137268431
  • 2016年04月27日 16:35
  • 715

淘宝TDDL——Matrix层的分库分表配置与实现

http://gao-xianglong.iteye.com/blog/2019729/ 前言 在开始讲解淘宝的TDDL(Taobao Distribute Data Layer)技术之前,请允许笔...
  • guolong1983811
  • guolong1983811
  • 2017年03月12日 22:52
  • 784

快速搭建ibatis+tddl+spring工程构造数据

企业信用应用依赖的数据为模型团队计算所得,应用依赖多个数据库、表个数多、重叠字段多且必须一致,测试数据库中没有数据对开发测试工作带来很大困难。这里介绍一个简单的配置,如何快速搭建一个工程通过tddl+...
  • sun_wangdong
  • sun_wangdong
  • 2016年07月20日 14:15
  • 1395

开源全局配置中心XDiamond

项目地址: https://github.com/hengyunabc/xdiamond简介全局配置中心,存储应用的配置项,解决配置混乱分散的问题。名字来源于淘宝的开源项目diamond,前面加上一个...
  • hengyunabc
  • hengyunabc
  • 2015年08月19日 11:16
  • 18659

阿里中间件——diamond

一、前言        最近工作不忙闲来无事,仔细分析了公司整个项目架构,发现用到了很多阿里巴巴集团开源的框架,今天要介绍的是中间件diamond,访问了对应开发团队的博客(http://jm-blo...
  • zh_winer
  • zh_winer
  • 2015年12月24日 16:00
  • 8049

diamond动态配置的系统的快速搭建

diamond是淘宝内部使用的一个管理持久配置的系统,它的特点是简单、可靠、易用,目前淘宝内部绝大多数系统的配置,由diamond来进行统一管理...
  • angry_tiger
  • angry_tiger
  • 2016年03月25日 17:56
  • 994
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TDDL+DIAMOND的配置及使用(二):Diamond
举报原因:
原因补充:

(最多只允许输入30个字)