阅读更多
之前用过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); } } 在上面的代码中,我们继承了...

  • 全国计算机等级考试二级openGauss数据库程序设计样题解析

    主要内容涵盖单选题和操作题两大部分。单选题涉及openGauss数据库的基本概念、数据模型、SQL语法、事务管理和用户权限等方面的知识点。操作题则围绕一个名为bookdb的图书购买信息数据库展开,具体任务包括插入图书信息、更新顾客信息、删除购买记录、查询特定图书信息以及创建视图、存储过程和触发器等实际操作。每道题目均附带详细的解题步骤和最终答案。

  • 新建 Microsoft Word 文档 (9).docx

    新建 Microsoft Word 文档 (9).docx

  • Delphi 12.3控件之nrCommLib Pro v9.54 Full Source for D10.3-D12.7z

    Delphi 12.3控件之nrCommLib Pro v9.54 Full Source for D10.3-D12.7z

  • 三菱PLC FX5U控制四轴伺服系统:硬件配置、参数设置及运动控制详解

    内容概要:本文详细介绍了使用三菱PLC FX5U控制四轴伺服系统的全过程,涵盖硬件配置、电气接线、参数设置以及运动控制逻辑。硬件方面,选用三菱FX5U-64MT作为主控制器,搭配四个MR-JE-20A伺服驱动器和其他必要组件。软件部分则深入探讨了轴参数初始化、原点回归、多轴联动、HMI界面设计及报警处理等关键技术环节。特别针对旋转轴的特殊处理进行了详细说明,如双速原点回归、绝对定位指令的应用等。此外,还提供了调试经验和优化技巧,确保系统的高精度和平稳运行。 适合人群:从事自动化控制系统设计、调试的技术人员,尤其是对三菱PLC和伺服系统有一定了解的研发人员。 使用场景及目标:适用于工业自动化领域的四轴伺服控制系统开发,旨在帮助工程师掌握从硬件选型到软件编程的一整套解决方案,提高项目的成功率和技术水平。 其他说明:文中附有多份参考资料,包括完整的程序文件、界面工程、CAD接线图和伺服参数清单,便于读者进行实际操作和验证。

  • 分阶段学习:先掌握基础,再深入细分领域 理论与实践结合:学完算法后立刻用代码实现 保持持续学习:AI技术迭代快,需跟踪最新进展

    分阶段学习:先掌握基础,再深入细分领域。 理论与实践结合:学完算法后立刻用代码实现。 保持持续学习:AI技术迭代快,需跟踪最新进展。

  • 电子硬件课程设计-Word文档

    电子硬件课程设计

Global site tag (gtag.js) - Google Analytics