它是什么
diamond为应用系统提供了获取配置的服务,应用不仅可以在启动时从diamond获取相关的配置,
而且可以在运行中对配置数据的变化进行感知并获取变化后的配置数据.
为什么需要它
diamond的特点是简单、可靠、易用:
简单:整体结构非常简单,从而减少了出错的可能性。
可靠:应用方在任何情况下都可以启动,在承载阿里核心系统并正常运行多年来,没有出现过任何重大故障。
易用:客户端使用只需要两行代码,暴露的接口都非常简单,易于理解。
常见应用场景
- 分表分库的DB服务器地址.
- 中间件的服务地址.
- 经常变化的开关,配置.
简单使用
引入
客户端代码(推荐使用方式3,若想绕过其它使用方式,强制使用方式三,DefaultDiamondManager最后一个参数写成true):
服务端配置
国美线上的部署结构
容灾性
1、数据库不可用.
2、所有server均不可用.
3、client主动删除了snapshot.
4、client没有备份配置数据,导致其不能配置“容灾目录”.
diamond与springPropertyPlaceholder动态集成
///////////////////动态配置说明/////////////////////
1.引入
2.项目下
config.properties //配置了diamond定义的配置信息的 groupId和dataId 名称
//注意这个配置规范
ServerAddress //配置diamond的服务器pi地址
3.spring 配置
diamond执行流程
1.读本地用户目录下 .diamond.domain 文件中的域名 ,比如 diamond.uat.ds.gome.com.cn , 如果使用a.b.c 需要在服务器hosts文件中配置
2.读步骤1中域名对应的ip , 比如:ping diamond.uat.ds.gome.com.cn ==> 10.58.50.110
3.通过步骤2中的ip取出可用的diamond-server列表, 访问 http://ip/url , 比如:curl 'http://diamond.uat.ds.gome.com.cn/url' ==> 10.58.50.204,10.58.50.205
4.通过步骤3中的ip列表,提取数据,比如(苦中group,dataId由程序中给定):curl 'http://10.58.50.204/diamond-server/config.co?group=zookeeper&dataId=url' ==> 10.58.50.203:2181,10.58.50.204:2181,10.58.50.205:2181
相关链接
阿里中间件团队技术博客 http://jm.taobao.org/ .
相关推荐
@@位简介关于图书馆基于NumPy,SciPy和Matplotlib原始名称scikit-learn构建的python库。安装pip install scikit-learn Sklearn的功能监督学习模型无监督学习模型聚类降维合奏方法特征提取功能选择开源的 :diamond_...
网络安全类思维导图大全,高清,...diamond_threat_model.png JavaWeb简介.png LAMPer技能树.jpeg Linux Security Coaching.png Linux检查脚本.jpeg Maltego使用导图.jpg Nmap 思维导图.png MPDRR模型.jpg NMAP by_mx
Diamond -- 分布式配置中心一、简介Diamond是淘宝研发的分布式配置管理系统。使用Diamond可以让集群中的服务进程动态感知数据的变化,无需重启服务就可以实现配置数据的更新。具有简单、可靠、易用等特点二、使用...
R for and for women工作坊欢迎大家 :woman: 我们希望欢迎所有在冲突与社会凝聚力研究中心( 举办的R by and Women研讨会上注册的人。讲师该研讨会将由 谁可以参加? 该活动是为想要开始使用R和RStudio的女性设计的...
JavaWeb简介.png Maltego使用导图.jpg Nmap.png PHP源码审计.png Python系统审计.jpg WEB2HACK.jpg Web安全.png Web安全技术点.jpg Web服务器入侵防御.jpg Web攻击及防御技术.png XSS利用架构图.jpg XSS...
简介Kotlin DSL http客户端功能:small_blue_diamond:开发人员体验驱动的库,没有冗长的内容。 Ko在Kotlin中使用HTTP客户端的本机方式。 :small_blue_diamond:HTTP GET / POST / PUT / HEAD / DELETE / PAT简介Kotlin...
TDDL动态数据源使用示例说明:http://rdc.taobao.com/team/jm/archives/1645diamond简介和快速使用:http://jm.taobao.org/tag/diamond专题/TDDL源码:https://github.com/alibaba/tb_tddl TDDL复杂度相对较高。...
OO简介 :small_orange_diamond: 对象关系(一对多):index_pointing_up_light_skin_tone: - 对象关系(多对多):raised_hand_light_skin_tone: - 真理与面向对象的唯一来源 :briefcase: 介绍ORM和ActiveRecord ...
9、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。 10、多种格式转换,可以把做出的报表转换为html,xls,pdf,bmp,jpeg等等格式。 11、自动对超长记录折行,超长的内容也会自动折行,中文换行不会...
RowanPokémonEditor使您可以编辑Diamond,Pearl和Platinum版本的神奇宝贝简介。
一、简介 1.1 概述 XXL-GLUE 是一个分布式环境下的逻辑管理平台, 扩展JVM的动态语言支持。 GlueHandler可以方便的嵌入到线上各个业务线中, 从而扩展相应业务模块的动态语言支持。可以节省部分...