zoukankan      html  css  js  c++  java
  • 什么是配置

    什么是配置

    http://www.infoq.com/cn/articles/open-source-configuration-center-apollo

    随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址……
    
    对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制……
    
    在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。
    
    按照我们的理解,配置有以下几个属性:
    
    配置是独立于程序的只读变量
    
    配置首先是独立于程序的,同一份程序在不同的配置下会有不同的行为
    其次,配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置
    常见的配置有:DB Connection Str、Thread Pool Size、Buffer Size、Request Timeout、Feature Switch、Server Urls 等
    配置伴随应用的整个生命周期
    配置:
    
    application (应用)
    
    environment (环境)
    
    cluster (集群)
    
    namespace (命名空间)
    
    配置贯穿于应用的整个生命周期,应用在启动时通过读取配置来初始化,在运行时根据配置调整行为
    
    配置可以有多种加载方式
    
    配置也有很多种加载方式,常见的有程序内部 hard code,配置文件,环境变量,启动参数,基于数据库等
    
    配置需要治理
    
    1、权限控制
    
    由于配置能改变程序的行为,不正确的配置甚至能引起灾难,所以对配置的修改必须有比较完善的权限控制
    
    2、不同环境、集群配置管理
    
    同一份程序在不同的环境(开发,测试,生产)、不同的集群(如不同的数据中心)经常需要有不同的配置,所以需要有完善的环境、集群配置管理
    
    3、框架类组件配置管理
    
    有一类比较特殊的配置——框架类组件配置,比如 CAT 客户端的配置。
    
    虽然这类框架类组件是由其他团队开发、维护,但是运行时是在业务实际应用内的,所以本质上可以认为框架类组件也是应用的一部分。这类组件对应的配置也需要有比较完善的管理方式
    
  • 相关阅读:
    某个牛人做WINDOWS系统文件详解
    常用ASP脚本程序集锦
    LINUX基础:文件安全与权限
    proftpd+mysql+quota
    apache2.0.49tomcat5.0.19jk2建立virtualHost
    URL Redirection(转) Anny
    顶级域名后缀列表(转) Anny
    \u4E00\u9FA5意义 Anny
    How to POST Form Data Using Ruby(转) Anny
    How to get rid of 'Enter password to unlock your login keyring' in Ubuntu(转) Anny
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/9240204.html
Copyright © 2011-2022 走看看