过去专门做了一篇文档来构建配置中心,基于 zookeeper 的配置中心。

环境要求及构建步骤可参考: QConf搭建配置中心

随着业务增长,部署的机器可能会随着增长,增加配置难度和维护难度。配置会因为机器的增多而变得更加容易出错,为了解决这个问题,于是我们引入了 360 开发的 Qconf 来解决这个问题,目前已经稳定用于线上环境当中。

安装 qconf 扩展包

composer require fastd/qconf-service-provider -vvv

扩展包有点特殊,不需要任何的注册操作,当执行完 composer 依赖之后,会自动加载辅助函数,仅需对配置中心进行读取配置即可。

提供两个函数:

qconf_get_value 获取对应节点值

qconf_get_values 获取对应节点值数组

修改配置文件

config/config.php

return [

'demo' => qconf_get_value('/demo/test', null, null, 'abc')

];

值得注意的是,如果万一不小心,qconf 出现错误或者异常无法运行的时候,则需要保留一个默认配置项,这个小动作可能会在你系统出现异常的时候救你一命。

测试配置中心

完成基础配置后,需要对配置中心进行简单的测试。

php bin/console config:dump config

结果会将配置文件进行输出,来确认是否可用。

最终架构图如下:

无论扩展多少个业务应用,仅需要一个配置中心即可完成多处配置修改。

配置中心.php,FastD 最佳实践二: 构建配置中心相关推荐

  1. FastD 最佳实践二: 构建配置中心

    过去专门做了一篇文档来构建配置中心,基于 zookeeper 的配置中心. 环境要求及构建步骤可参考: QConf搭建配置中心 随着业务增长,部署的机器可能会随着增长,增加配置难度和维护难度.配置会因 ...

  2. LINQ快速开发设计最佳实践(二) 构建Model模型

    一.摘要 第一篇文章我简要介绍了项目的设计框架和LINQ实现思想. 本篇文章将是最实际和具有技巧性的地方, 就是如何创建LINQ TO SQL 的模型对象. 二.前言 1.LINQ与LINQ TO S ...

  3. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

    原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二) Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 ...

  4. SOLR7实践(二)--DIH配置及使用

    DIH配置及使用@SOLR7实践(二) DIH配置及使用 网上已经有很多相关文章了,但是实践中还是遇到了些问题,备忘一下. 一.配置solrconfig.xml 编辑/var/solr/data/ne ...

  5. 最佳实践丨构建云上私有池(虚拟IDC)的5种方案详解

    简介:云上私有池系列终篇终于来了,本文将重点介绍构建云上的私有池(虚拟IDC)的多种方案和各自的优缺点,并给出相关的性价比优化建议. 本文作者:阿里云技术专家李雨前 摘要 围绕私有池(虚拟IDC)的价 ...

  6. Dotnet core使用JWT认证授权最佳实践(二)

    最近,团队的小伙伴们在做项目时,需要用到JWT认证.遂根据自己的经验,整理成了这篇文章,用来帮助理清JWT认证的原理和代码编写操作. 第一部分:Dotnet core使用JWT认证授权最佳实践(一) ...

  7. k8s停止服务_Kubernetes 服务部署最佳实践(二) 如何提高服务可用性

    引言 上一篇 文章我们围绕如何合理利用资源的主题做了一些最佳实践的分享,这一次我们就如何提高服务可用性的主题来展开探讨. 怎样提高我们部署服务的可用性呢?K8S 设计本身就考虑到了各种故障的可能性,并 ...

  8. 一部分 数据 迁移_11项最佳实践,每次数据中心迁移都必不可少

    随着企业业务和应用的发展,现有基础架构已经无法保障时,数据中心迁移无法避免,企业可能需要迁移来增加容量或推出新功能和服务. 基础架构要求可能会随时间变化,并且可能会考虑使用托管服务提供商或云服务的选项 ...

  9. 领域驱动设计之单元测试最佳实践(二)

    领域驱动设计之单元测试最佳实践(一) 介绍完了DDD案例,我们终于可以进入主题了,本方案的测试代码基于Xunit编写,断言组件采用了FluentAssertions,类似的组件还有Shouldly.另 ...

  10. Docker最佳实践:构建最小镜像

    镜像大小其实是衡量我们容器打包技术的重要指标,我们应该在不影响应用正常运行的情况下,尽量让我们的容器镜像变得更小,这样,不管是从安全还是维护效率角度来讲,都是最佳实践. 本文我们从两种情况阐述我们的问 ...

最新文章

  1. Java模拟ATM运行过程(第一版)
  2. 初中数学分几个模块_【初中数学】8大模块61个必考易错知识点!
  3. Maven(十)通过Maven缺失servlet.api的解决方式看provide(依赖范围)
  4. 汇编语言——《子程序应用(数制转换)程序设计》实验任务书
  5. 二.Sql语言的分类及运算符
  6. mysql安装1335_Mysql 安装问题。提示MySQL Server 5.1 -- Error 1335.
  7. 三种方式让你轻松监控 EntityFramework 中的 sql 流转
  8. codeforces1472 G. Moving to the Capital
  9. mac 下修改 jenkins 端口以及Jenkins的启动、关闭与更新
  10. python学习笔记第四节
  11. 沫沫金::struts下载文档[解决方案]
  12. 算法:两个数的和等于指定值1. Two Sum
  13. php运行方式isapi,PHP_WINDOWS 2000下使用ISAPI方式安装PHP,使用ISAPI方式安装PHP。 下载连 - phpStudy...
  14. 计算机图形学【GAMES-101】12、相机(视场、曝光、光圈(F-Stop)、薄棱镜近似、CoC、景深)
  15. Google 搜索语法
  16. 录音m4a怎么转换成mp3
  17. iOS视频添加水印两种方式(不用到第三方框架)
  18. 《嵌入式应用开发》实验一、开发环境搭建与布局
  19. Java 对象的克隆Clone和必须了解的浅拷贝与深拷贝
  20. arduino/Mixly使用ZH03BPM2.5传感器

热门文章

  1. 算法与数据结构 第2章 排序基础 上
  2. usb接口的可变焦相机 对应没有彩虹的投影仪
  3. Atitit opencv 模板匹配
  4. paip. dsl 编程语言优点以及 常见的dsl
  5. clickhouse: WSL下常见问题、常见用法和A股数据实践
  6. Rust : CTP中交互中字符串及处理
  7. HDF5: Python 的h5py与Julia的HDF5库读取效率比较,不差上下
  8. 范华专栏 | 挪威主权基金2018年报解读
  9. 摘要算法、对称加密、非对称加密、数字签名、数字证书浅析
  10. (转) 数字加密货币全球资源汇总