阅读更多
之前用过taobao开源的diamond,但感觉功能过于简单不是太好用,于是想到重新开发一套配置管理服务器,这就是super-diamond。

其主要功能如下:

  • 配置管理系统提供系统参数配置管理,例如数据库的配置信息等,配置参数修改以后可以实时推送到客户端(基于netty4), 方便系统动态修改运行参数。
  • 可以建多个项目,每个项目分为三种profile(development、test、production), 能够控制profile 级别的权限。
  • 所有参数均由development profile配置,test和production profile继承development profile配置,也可以覆盖其配置。 test和production profile只提供修改功能。
  • client 备份配置信息到本地文件系统,如果server不可用,可以使用本地备份。client 能够定时重连server,保证client高可用。
  • client 提供ConfigurationListener,当某个属性发生变化(add、update、clear), ConfigurationListener能够接收到ConfigurationEvent。
  • server 备份配置文件系统系统,如果数据库不用,能够保证对客户端提供数据(待完善)。
项目地址:https://github.com/melin/super-diamond

系统截图(不是最新,有点小变化):

4
1
评论 共 14 条 请登录后发表评论
14 楼 huxin889 2017-04-05 16:37
我在oracle使用super-diamond-server是会报错的,因为代码拼sql的时候写死了limit,这个是为什么呢?
13 楼 白小神 2016-06-29 15:14
实在忍不住发个言,楼主甭理他,你看他的言论根本就是自相矛盾的,一会儿说自己是ali的,一会儿又说幸好自己没去ali,所以他就是个精神分裂的人。 没准只是一个键盘侠,不过也希望楼主的这个项目能继续维护升级下去


melin 写道
pengpeng99bill 写道
melin 写道
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...


pengpeng99bill 写道
melin 写道
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...


你没那么多机器用什么配置服务器,在数据库里建张表就可以了, 配置服务器就是解决资源问题, 你还不支持集群 搞什么,先自己好好考虑设计问题在说。


我们一个项目由很多模块组成,每一个模块是一个独立工程,最初是放在配置文件中,上线打包需要修改配置文件,极其麻烦。就像你说的用数据库存放配置,工程启动的时候一次加载,但不能运行修改是一个麻烦,diamond出来以后,部署发现管理功能很简单,没有账号和权限管理功能呢,页面也很丑陋,没有办法就在diamond基础上修改了管理功能(http://github.com/melin/tp.diamond),在使用过程中发现diamond很多不方便,不能和我们工程特点结合应用,这就有了super-diamond的(一同事起的名字)。
super-diamond功能很简单,有它存在的价值。

很多人被ali洗脑过多,发现自己工作环境没有ali那么大规模,总感觉自己工作没有太大兴趣,每天做重复劳动。还是推荐看看《淘宝技术十年》中讲到

标题被编辑修改过的。

放在数据库里的怎么不能运行时候加载了。你还能写死写缓存读配置,顶多就是加大了数据库压力。早期都可以这么多,只有应用无穷庞大的时候才能用配置服务器。你们是自己玩技术又玩不好,才想搞个不论不类的东西出来。先想清楚再考虑吧,顺被说下我是ali的没说ali什么都好,只有适合真正需求的东西才好。

12 楼 huangxingfu_0221 2014-11-10 21:22
哎,为什么中国人都喜欢拆别人的台,抬高自己?显摆自己?能把自己的想法贡献出来就是对社会的贡献,本身就值得肯定,有本事自己也搞一个适合于自己的东东,别老是一副高高在上的模样,动不动嘴就发臭,对后辈们树立什么榜样?好吗?显出点最基本的素质吧,别让人家看笑话!!!择其善者而从之,其不善者而改之---中华文化的精华对一些人来说也就是念念而已!!!可悲
11 楼 pengpeng99bill 2014-03-04 14:27
pengpeng99bill 写道
melin 写道
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...


pengpeng99bill 写道
melin 写道
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...


你没那么多机器用什么配置服务器,在数据库里建张表就可以了, 配置服务器就是解决资源问题, 你还不支持集群 搞什么,先自己好好考虑设计问题在说。


我们一个项目由很多模块组成,每一个模块是一个独立工程,最初是放在配置文件中,上线打包需要修改配置文件,极其麻烦。就像你说的用数据库存放配置,工程启动的时候一次加载,但不能运行修改是一个麻烦,diamond出来以后,部署发现管理功能很简单,没有账号和权限管理功能呢,页面也很丑陋,没有办法就在diamond基础上修改了管理功能(http://github.com/melin/tp.diamond),在使用过程中发现diamond很多不方便,不能和我们工程特点结合应用,这就有了super-diamond的(一同事起的名字)。
super-diamond功能很简单,有它存在的价值。

很多人被ali洗脑过多,发现自己工作环境没有ali那么大规模,总感觉自己工作没有太大兴趣,每天做重复劳动。还是推荐看看《淘宝技术十年》中讲到

标题被编辑修改过的。

放在数据库里的怎么不能运行时候加载了。你还能写死写缓存读配置,顶多就是加大了数据库压力。早期都可以这么多,只有应用无穷庞大的时候才能用配置服务器。你们是自己玩技术又玩不好,才想搞个不论不类的东西出来。先想清楚再考虑吧,顺被说下我是ali的没说ali什么都好,只有适合真正需求的东西才好。
10 楼 melin 2014-02-24 15:13
melin 写道
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...


pengpeng99bill 写道
melin 写道
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...


你没那么多机器用什么配置服务器,在数据库里建张表就可以了, 配置服务器就是解决资源问题, 你还不支持集群 搞什么,先自己好好考虑设计问题在说。


我们一个项目由很多模块组成,每一个模块是一个独立工程,最初是放在配置文件中,上线打包需要修改配置文件,极其麻烦。就像你说的用数据库存放配置,工程启动的时候一次加载,但不能运行修改是一个麻烦,diamond出来以后,部署发现管理功能很简单,没有账号和权限管理功能呢,页面也很丑陋,没有办法就在diamond基础上修改了管理功能(http://github.com/melin/tp.diamond),在使用过程中发现diamond很多不方便,不能和我们工程特点结合应用,这就有了super-diamond的(一同事起的名字)。
super-diamond功能很简单,有它存在的价值。

很多人被ali洗脑过多,发现自己工作环境没有ali那么大规模,总感觉自己工作没有太大兴趣,每天做重复劳动。还是推荐看看《淘宝技术十年》中讲到

标题被编辑修改过的。
9 楼 pengpeng99bill 2014-02-24 09:17
melin 写道
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...


说白了 你这就是个玩具 别拿出来嘚瑟
8 楼 pengpeng99bill 2014-02-24 09:10
pengpeng99bill 写道
pengpeng99bill 写道
melin 写道
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...


你没那么多机器用什么配置服务器,在数据库里建张表就可以了, 配置服务器就是解决资源问题, 你还不支持集群 搞什么,先自己好好考虑设计问题在说。


还有你搞什么 super-diamond 我才骂你的,你这不是 装蒜吗

不过阿里的 diamond文档太差了,淘系开源的东西就是差,还是B2B 的好

7 楼 pengpeng99bill 2014-02-24 09:09
pengpeng99bill 写道
melin 写道
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...


你没那么多机器用什么配置服务器,在数据库里建张表就可以了, 配置服务器就是解决资源问题, 你还不支持集群 搞什么,先自己好好考虑设计问题在说。


不过阿里的 diamond文档太差了,淘系开源的东西就是差,还是B2B 的好
6 楼 pengpeng99bill 2014-02-24 09:08
melin 写道
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...


你没那么多机器用什么配置服务器,在数据库里建张表就可以了, 配置服务器就是解决资源问题, 你还不支持集群 搞什么,先自己好好考虑设计问题在说。
5 楼 melin 2014-02-21 22:54
pengpeng99bill 写道
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB

diamond设计考虑集群,解决client过多的问题,试想有几家公司有ali那么大的client,百分之90多的公司部署不会操作10台机器。在我的工作环境没有,不想过多的设计,只想结合项目自身特点,丰富功能,使用比diamond更加方便。
加上集群功能也不是什么难事。

嘴不干净的人,在哪都混不下去的...
4 楼 pengpeng99bill 2014-02-21 16:14
垃圾 你好好看看人家diamond设计方案,你这个在大的集群中怎么用,看了你的源码。如果Client过高 你的server还能承受住吗,压力怎么解决,好好看看人家怎么设计的。 别吵概念 SB
3 楼 melin 2013-09-18 10:39
针对你提出的问题,完善了代码和文档。谢谢!
2 楼 harborgang 2013-09-18 01:18
折腾了半天 公司maven代理 老是下载不了东西,终于改成dynmic web project 跑起来了。maven调试web项目 到不了源码中啊?

mysql 中新增一条admin用户

insert into conf_user(id,USER_code,USER_NAME,PASSWORD,CREATE_TIME) values(1,'admin','admin','670b14728ad9902aecba32e22fa4f6bd',current_timestamp() );
commit;
1 楼 harborgang 2013-09-17 22:15
mysql脚本 稍微有点小瑕疵,conf_project_config表
修复如下:
CREATE TABLE `conf_project_config` (
  `CONFIG_ID` INT(11) NOT NULL,
  `CONFIG_KEY` VARCHAR(64) NOT NULL,
  `CONFIG_VALUE` VARCHAR(256) NOT NULL,
  `CONFIG_DESC` VARCHAR(256) DEFAULT NULL,
  `PROJECT_ID` INT(11) NOT NULL,
  `MODULE_ID` INT(11) NOT NULL,
  `DELETE_FLAG` INT(1) DEFAULT '0',
  `OPT_USER` VARCHAR(32) DEFAULT NULL,
  `OPT_TIME` DATETIME DEFAULT NULL,
  `PRODUCTION_VALUE` VARCHAR(256) NOT NULL,
  `PRODUCTION_USER` VARCHAR(32) DEFAULT NULL,
  `PRODUCTION_TIME` DATETIME DEFAULT NULL,
  `TEST_VALUE` VARCHAR(256) NOT NULL,
  `TEST_USER` VARCHAR(32) DEFAULT NULL,
  `TEST_TIME` DATETIME DEFAULT NULL,
  PRIMARY KEY (`CONFIG_ID`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • super-diamond服务器搭建及应用

    Super-diamond是在淘宝diamond基础上改良而来,是一套优秀的配置管理服务器,由于工作中需要用到,就简单学习了一下,并将其记录下来,源码地址点击这里下载 先上一张服务流程图,画的简陋请包涵 主要功能 配置...

  • super-diamond

    http://code.taobao.org/svn/diamond 2.源码部分修改  a.diamond-utils中的com.taobao.diamond.common.Constants中的 public static final int DEFAULT_PORT = 8080;//这个是diamond的默认访问端口,可以根据需要...

  • Superdiamond-配置管理服务器

     Superdiamond-配置管理服务器  功能及好处: 1. 作为配置管理中心管理着各种类型的配置信息,供其他服务获取和调用。 2. 可以创建多个项目(项目编码作为唯一标识),每个项目又划分了若干profile级别...

  • mysql-8.0.11-winx64 安装配置: mysqld --initialize --console MYSQL:ERROR 1045 (28000): Access denied ......

    mysql-8.0.11-winx64 安装配置: mysqld --initialize --console MYSQL:ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost——MySQL5.7修改密码 mysql-8.0.11 不再有 my.ini 配置文件了. 通过mysqld -.....

  • 开源配置中心diamond

    http://code.taobao.org/p/2015_superdiamond/src/trunk/ ...- 配置管理系统提供系统参数配置管理,例如数据库的配置信息等,配置参数修改以后可以实时推送到客户端(基于netty4), 方便系统动...

  • 配置管理系统

    配置管理系统项目地址:https://github.com/melin/super-diamondsuper-diamond配置管理系统提供系统参数配置管理,例如数据库的配置信息等,配置参数修改以后可以实时推送到客户端(基于netty4), 方便系统动态修改...

  • 怎么配置android远程服务器地址,在 Android studio 中 配置Gradle 进行 “动态编译期间,指定 远程服务器地址 ,生成多个安装包”...

    需求:在产品开发中,经常需要发布各个版本,每个版本的服务器地址有不同的服务器地址。比如开发服务器使用 192.168.1.232服务器,测试服务器使用 192.168.1.245服务器,正式上线后服务器地址是http://xxxx.com。在...

  • linux开源服务器配置工具,六款优秀的开源Linux服务器配置工具

    Beats By Dr.Dre Studio Colorful Champagne Limited Edition UK,Beats By Dr.Dre Studio Colorware Chrome Limited Edition UK,Beats By Dr.Dre Studio Superman For Dwight Howard Special Edition UK,...

  • linux服务器键盘配置文件,linux服务器基本安全配置手册

    Beats By Dr.Dre Studio Colorful Champagne Limited Edition UK,Beats By Dr.Dre Studio Colorware Chrome Limited Edition UK,Beats By Dr.Dre Studio Superman For Dwight Howard Special Edition UK,...

  • 配置持久化框架diamond简介及高阶应用

    配置持久化框架diamond 前言 一、简介 二、特点 ...配置持久化框架diamond 为淘宝内部使用的一个管理持久配置的系统,本次分享除介绍diamond的简单应用外,还将介绍更高级的应用场景。   一、简介 diamo

  • diamond简介和使用

    diamond是淘宝内部使用的一个管理持久配置的系统,它的特点是简单、可靠、易用,目前淘宝内部绝大多数系统的配置,由diamond来进行统一管理。 diamond为应用系统提供了获取配置的服务,应用不仅可以在启动时从...

  • ffmpeg翻译文档

    :匹配不能被配置的流,这时编码器必须被定义且有必要的视频维度或者音频采样率之类的信息。 注意 , ffmpeg 匹配由元数据标识的状态仅对于输入文件有效。 常规选项 这些常规选项也可以用在 ffmpeg 项目中其他 ...

  • 一般人我不告诉的bug

    或更高版本以启用 diamond 运算符) 解决方法,在build gradle中进行配置如下代码 android { compileOptions { sourceCompatibility JavaVersion .VERSION _1_7 targetCompatibility JavaVersion .VERSION ...

  • 我的世界Bukkit服务器插件开发教程(十)实体

    public class MyCustomCowEntity extends EntityCow { public MyCustomCowEntity(EntityTypes<? extends EntityCow> entitytypes, World world) { super(entitytypes, world); } } 在上面的代码中,我们继承了...

  • 关于组织参加“第八届‘泰迪杯’数据挖掘挑战赛”的通知-4页

    关于组织参加“第八届‘泰迪杯’数据挖掘挑战赛”的通知-4页

  • PyMySQL-1.1.0rc1.tar.gz

    PyMySQL-1.1.0rc1.tar.gz

  • 技术资料分享CC2530中文数据手册完全版非常好的技术资料.zip

    技术资料分享CC2530中文数据手册完全版非常好的技术资料.zip

  • docker构建php开发环境

    docker构建php开发环境

  • VB程序实例59_系统信息_显示分辨率.zip

    VB程序实例,可供参考学习使用,希望对你有所帮助

  • pytz-2016.7-py2.6.egg

    pytz库的主要功能 时区转换:pytz库允许用户将时间从一个时区转换到另一个时区,这对于处理跨国业务或需要处理多地时间的数据分析尤为重要。 历史时区数据支持:pytz库不仅提供了当前的时区数据,还包含了历史上不同时期的时区信息,这使得它在处理历史数据时具有无与伦比的优势。 夏令时处理:pytz库能够自动处理夏令时的变化,当获取某个时区的时间时,它会自动考虑是否处于夏令时期间。 与datetime模块集成:pytz库可以与Python标准库中的datetime模块一起使用,以确保在涉及不同时区的场景中时间的准确性。

Global site tag (gtag.js) - Google Analytics