Disconf简介
参考:
https://github.com/knightliao/disconf/wiki/TutorialSummary
在一个分布式环境中,同类型的服务往往会部署很多实例。这些实例使用了一些配置,为了更好地维护这些配置就产生了配置管理服务。通过这个服务可以轻松地管理成千上百个服务实例的配置问题。
王阿晶提出了基于zooKeeper的配置信息存储方案的设计与实现[1], 它将所有配置存储在zookeeper上,这会导致配置的管理不那么方便,而且他们没有相关的源码实现。淘宝的diamond[2]是淘宝内部使用的一个管理持久配置的系统,它具有完整的开源源码实现,它的特点是简单、可靠、易用,淘宝内部绝大多数系统的配置都采用diamond来进行统一管理。他将所有配置文件里的配置打散化进行存储,只支持KV结构,并且配置更新的推送是非实时的。百度内部的BJF配置中心服务[3]采用了类似淘宝diamond的实现,也是配置打散化、只支持KV和非实时推送。
同构系统是市场的主流,特别地,在业界大量使用部署虚拟化(如JPAAS系统,SAE,BAE)的情况下,同一个系统使用同一个部署包的情景会越来越多。但是,异构系统也有一定的存在意义,譬如,对于“拉模式”的多个下游实例,同一时间点只能只有一个下游实例在运行。在这种情景下,就存在多台实例机器有“主备机”模式的问题。目前国内并没有很明显的解决方案来统一解决此问题。
参考:http://blog.csdn.net/fiboliu/article/details/50912155
分享到:
相关推荐
《disconf-web部署指南_V1.3》是针对disconf在Web环境下的部署与配置的一份详尽指导文档。Disconf(分布式配置中心)是一款开源的、轻量级的、适用于Java环境的分布式配置管理工具,它能有效地帮助开发者解决在...
1. 安装配置MySQL数据库,创建Disconf所需的数据库和表,根据官方文档提供的SQL文件进行初始化。 2. 修改Disconf的配置文件,如`conf/application.properties`,配置数据库连接信息、服务地址等。 3. 配置Disconf...
1. **disconf-web的核心功能**: - **配置管理**:支持对分布式系统的各种配置进行集中管理,包括添加、修改、删除等操作。 - **实时更新**:配置的改动能够实时同步到各个服务节点,无需重启服务即可生效。 - **...
e050bb3c4d05 daocloud.io/library/redis "docker-entrypoint..." About an hour ago Up About an hour 6379/tcp dockerdisconfmaster_disconf_redis_1_1 dd676e1ecbee zookeeper:3.3.6 "/docker-entrypoin..." ...
1. Disconf 客户端录入/修改/删除项目配置相关内容 Disconf 的客户端提供了一个友好的界面,用于录入、修改和删除项目配置相关的内容。在登陆后台管理界面中,我们可以建立新的应用程序(app),并添加配置项和配置...
1.按照disconf-web.war/sql/readme.md执行SQL脚本创建库表和基础数据。 2.修改war包下的配置文件,具体目录是disconf-web.war\WEB-INF\classes\ jdbc-mysql.properties (数据库配置) redis-config.properties ...
1. disconf-core:这是Disconf的基础库,包含了配置管理的基本功能,如配置的读取、监听、更新等。它提供了一套Java API,方便开发者在应用程序中集成Disconf。 2. disconf-client:这是Disconf的客户端,负责与...
1. **全面覆盖**:Disconf不仅支持常规的配置管理,还涵盖了Spring、MyBatis等框架的配置,以及Zookeeper、Redis等中间件的配置,使得配置管理更为全面。 2. **一键部署**:Disconf支持一键部署到分布式环境中,简化...
1. **Spring Boot集成Disconf**:这通常涉及到在Spring Boot的`pom.xml`中添加disconf的依赖,然后在应用启动时加载和初始化disconf的相关配置。 2. **Disconf配置文件**:项目中可能包含一个或多个`*.properties`...
分布式配置中心 Disconf 编译好的安装包, 分布式配置中心 Disconf 编译好的安装包,。
1. 下载与部署:首先,从Disconf的官方网站或GitHub仓库下载最新版本的Disconf源码,解压后按照官方文档的指引进行编译与部署。部署过程中,需要配置好相关的环境变量,如DISCONF_HOME,以便后续的使用。 2. 初始化...
1. **分布式配置中心**:Disconf实现了分布式环境下的配置中心,允许开发者在一个中心化的平台上进行配置的修改和管理,而这些更改会实时同步到各个服务节点,降低了因配置变动带来的系统部署复杂性。 2. **版本...
1. 不在项目中创建`disconf.properties`,但需要保证其他Disconf依赖正常引入。 2. 在代码中手动设置应用的基本信息,如`DisConfUtil.setAppName()`,`DisConfUtil.setServerId()`等。 3. 使用Disconf API初始化并...
1. **集中式配置管理** disconf实现了配置的集中存储,所有应用的配置信息统一存放在一个中心节点,避免了传统方式下配置文件分散在各个服务节点中的问题,提高了管理效率。 2. **版本化控制** 每次配置的修改,...
适用升级disconf + springcloud 高版本
1. **启动时加载**:服务启动时,Disconf客户端会从配置中心拉取当前服务所需的所有配置文件。 2. **心跳检测**:客户端定期发送心跳到Disconf服务器,确保连接正常。 3. **配置更新**:当配置中心有新的配置文件时...
disconf-web项目,可直接部署到tomcat上,不依赖nginx。 修改其中 jdbc-mysql.properties (数据库配置), redis-config.properties (Redis...新建disconf数据库,然后依次运行0-init_table.sql,1-init_data.sql即可。
百度的disconf确实好用,但是手工添加配置项和配置文件很烦躁,自己利用闲余时间写了该脚本,主要支持对disconf的app自动下载和添加配置,运行之前,请先在桌面上新建一个applist.txt的文本,里面填上待操作的...
如果不想导入eclipse用maven安装,可直接下载就可以用.
下面按情况进行分析:服务启动前,zk连接不上:开始连接不上:因此,web上所有操作均会失败,抛大异常,请求失败,只会重试一次,不会重试多次后面突然连接上了:ap