简介:

Distributed Configuration Management Platform(分布式配置管理平台)

它是百度的一套完整的基于zookeeper的分布式配置统一解决方案,具有如下特性:

  • 部署极其简单:同一个上线包,无须改动配置,即可在 多个环境中(RD/QA/PRODUCTION) 上线
  • 部署动态化:更改配置,无需重新打包或重启,即可 实时生效
  • 统一管理:提供web平台,统一管理 多个环境(RD/QA/PRODUCTION)、多个产品 的所有配置
  • 支持微服务架构

模块架构图

模块信息

  • CLIENT: client目标是支持多语言。目前只提供了java语言客户端。
    • disconf-core: 分布式配置基础包模块
    • disconf-client: 分布式配置客户端模块, 依赖disconf-core包。 用户程序使用它作为Jar包进行分布式配置编程。
    • disconf-tool: 分布式配置工具包,依赖disconf-core包。 Disconf-tool是disconf的辅助工具类, 目前使用不多,建议不使用。
  • 管理端:disconf-web是统一的分布式配置管理平台。disconf-web: 分布式配置平台服务模块, 依赖disconf-core包。采用SpringMvc+纯HTML方式(前后端分离架构)实现。用户使用它来进行日常的分布式配置管理。

java client: disconf-client 使用

在您的 Maven POM 文件里加入:

<dependency>
<groupId>com.baidu.disconf</groupId>
<artifactId>disconf-client</artifactId>
<version>2.6.31</version>
</dependency>

server: disconf-web 使用

部署方法请参见:https://github.com/knightliao/disconf/tree/master/disconf-web

根据官方文档,web部署基本上以下几步:

1.配置环境
  disconf运行需要的软件:zookeeper、redis、mysql、nginx、tomcat

2.下载代码
  cd work/github
  git clone https://github.com/knightliao/disconf.git

3.修改环境
  sudo vi /etc/profile,在文件的末尾加上
  ONLINE_CONFIG_PATH=/usr/local/xxx/disconf/source
  WAR_ROOT_PATH=/usr/local/xxx/disconf/war
  export ONLINE_CONFIG_PATH
  export WAR_ROOT_PATH

4.配置更改
  cp
work/github/disconf/disconf-web/profile/rd/application-demo.properties
jdbc-mysql.properties

redis-config.properties zoo.properties
log4j.properties logback.xml rabbit.properties /usr/local/xxx/disconf/source
  将application-demo.properties修改成application.properties(mv或者cp命令都可以)
  然后将/usr/local/xxx/disconf/source下的这4个配置文件修改成自己环境相关的配置
  application.properties
  该文件中主要是配置了监控邮件发送和接受的服务器和邮箱地址
  zoo.properties
  主要修改里面的hosts,指定zookeeper集群的host的端口
  jdbc-mysql.properties
 主要修改数据库的host和mysql的用户名和密码
 redis-config.properties
 主要修改2个实例的host和端口

log4j.properties
 主要修改日志存放的路径

log4j.appender.dailyRolling.File=/home/xxx/xxx/tomcat/log/disconf-log4j.log

logback.xml
 主要修改web和监控的log存放位置

<property name="log.base" value="/home/xxx/tomcat/log/disconf-web"/>
<property name="log.monitor" value="/home/xxx/tomcat/log/monitor"/

rabbit.properties
修改用户名和密码以及端口(自己安装的默认端口是5672)

5.生成war包

cd disconf/disconf-web
  sh deploy/deploy.sh

6.初始化数据库


如何初始化根据disconf-web下的sql文件夹下的README.md来初始化

7.tomcat配置,nginx配置
 在tomcat的server.xml中加入
 <Context path="" docBase="/usr/local/xxx/disconf/war"></Context>

在http这个标记对里面加上如下配置(/etc/nginx/nginx.conf):
 upstream disconf {
    server 127.0.0.1:8080;
 }

 server {
    listen 8991;
    server_name localhost;
    access_log /home/xxx/nginx/log/disconf/access.log;
    error_log /home/xxx//nginx/log/disconf/error.log;

    location / {
        root /usr/local/xxx/disconf/war/html;
        if ($query_string) {
            expires max;
        }
    }

    location ~ ^/(api|export) {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://disconf;
    }
}
upstream disconf 配置中的端口必须与tomcat启动的端口一致
server中listen是启动该disconf前端的端口
里面需要修改access_log和error_log指定log的位置
disconf使用前后端分离的部署方式,前端配置在nginx是那个,后端api部署在tomcat中

8.启动
  启动tomcat和nginx,浏览器输入:http://localhost:8991/
  用户名和密码都是admin
  ok,disconf的web操作服务搭建完成

												

disconf搭建的更多相关文章

  1. 分布式配置管理--百度disconf搭建过程和详细使用

    先说官方文档:http://disconf.readthedocs.io/zh_CN/latest/index.html 不管是否要根据官方文档来搭建disconf,都应该看一下这一份文档.精炼清晰地 ...

  2. Disconf 学习系列之全网最详细的最新稳定Disconf 搭建部署(基于Ubuntu14.04 / 16.04)(图文详解)

    不多说直接上干货! https://www.cnblogs.com/wuxiaofeng/p/6882596.html (ubuntu16.04) https://www.cnblogs.com/he ...

  3. disconf---分布式配置管理平台的搭建(windows版本)

    本人由刚开始接触博客,难免会有不足和错误,写博客只是记录本人在学习和工作的过程中的成长,如有不足,欢迎各位指正,谢谢~ 一.废话不多说,直接进入正题: ①获取github代码 https://gith ...

  4. Windows环境下执行hadoop命令出现Error: JAVA_HOME is incorrectly set Please update D:\SoftWare\hadoop-2.6.0\conf\hadoop-env.cmd错误的解决办法(图文详解)

    不多说,直接上干货! 导读   win下安装hadoop 大家,别小看win下的安装大数据组件和使用  玩过dubbo和disconf的朋友们,都知道,在win下安装zookeeper是经常的事   ...

  5. 【disconf】环境搭建【linux】

     1.搭建disconf需要安装的配置. 安装Linux:CentOS7     安装Zookeeper:zookeeper-3.4.6     安装Redis:redis-3.0.0     安装N ...

  6. Docker搭建disconf环境,三部曲之一:极速搭建disconf

    Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...

  7. Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像

    Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...

  8. Docker搭建disconf环境,三部曲之三:细说搭建过程

    Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...

  9. disconf原理 “入坑”指南

    之前有了解过disconf,也知道它是基于zookeeper来做的,但是对于其运行原理不太了解,趁着周末,debug下源码,也算是不枉费周末大好时光哈 :) .关于这篇文章,笔者主要是参考discon ...

随机推荐

  1. XMind共享未保存的思维导图的教程

    我们在XMind 6对导图进行局域网共享时,一般都是对XMind文件先进行保存再共享,那样是忘记保存呢,该如何共享.局域网共享功能是XMind 6特有的功能之一,自是较为完善,性能强大的功能,当然有办 ...

  2. NOIp2016 游记

    DAY -2 不要问我为什么现在就开了一篇博客. 本来想起个NOIp2016爆零记或者NOIp2016退役记之类的,但是感觉现在不能乱立flag了.所以就叫游记算了. 前几场模拟赛崩了一场又一场,RP ...

  3. css权威指南学习笔记

    2016-08-03 1,继承 一般大多数框模型属性都是不能继承的.如:padding .margin .border .background 都不能继承. 继承值,完全没有特殊性.(就是优先级最低) ...

  4. mybatis-generator运行命令

    java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml -overwrite

  5. 在webapi2中使用OWIN 自寄宿模式

    OWIN  自寄宿模式说的直白一点就是不需要IIS了,直接通过路由访问cs模式的服务 敲了一遍官方的例子,首先安装Microsoft.AspNet.WebApi.OwinSelfHost,注意不要安装 ...

  6. 逆向工程学习第四天--Windows栈溢出保护机制(GS)原理及绕过测试

    GS简介: Windows的缓冲区安全监测机制(GS)可以有效的阻止经典的BOF攻击,因为GS会在函数调用前往函数栈帧内压入一个随机数(canary),然后等函数返回前,会对canary进行核查,判断 ...

  7. [Android]快捷键

    小技巧,快捷键 快捷键创建资源: Windows下是 alt+enter; Mac下是Option+enter 创建构造函数,Get/Set:Command+N,Windows环境中Alt + Ins ...

  8. Yii2 定时任务创建(Console 任务)

    Yii2的定时任务可以有两种写法,原理都是通过服务器的定时任务去调用 1.通过调用指定的URL访问 就相当于在浏览器中访问 2.通过console调用 下面我们就来说说Console 是如何实现定时任 ...

  9. HTTPS 双向认证构建移动设备安全体系

    HTTPS 双向认证构建移动设备安全体系 对于一些高安全性要求的企业内项目,我们有时希望能够对客户端进行验证.这个时候我们可以使用Https的双向认证机制来实现这个功能. 单向认证:保证server是 ...

  10. 一张图告诉你,只会Node.JS还不够!

    一本nodejs代码段.