配置中心.php,FastD 最佳实践二: 构建配置中心
过去专门做了一篇文档来构建配置中心,基于 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 最佳实践二: 构建配置中心相关推荐
- FastD 最佳实践二: 构建配置中心
过去专门做了一篇文档来构建配置中心,基于 zookeeper 的配置中心. 环境要求及构建步骤可参考: QConf搭建配置中心 随着业务增长,部署的机器可能会随着增长,增加配置难度和维护难度.配置会因 ...
- LINQ快速开发设计最佳实践(二) 构建Model模型
一.摘要 第一篇文章我简要介绍了项目的设计框架和LINQ实现思想. 本篇文章将是最实际和具有技巧性的地方, 就是如何创建LINQ TO SQL 的模型对象. 二.前言 1.LINQ与LINQ TO S ...
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)
原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二) Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 ...
- SOLR7实践(二)--DIH配置及使用
DIH配置及使用@SOLR7实践(二) DIH配置及使用 网上已经有很多相关文章了,但是实践中还是遇到了些问题,备忘一下. 一.配置solrconfig.xml 编辑/var/solr/data/ne ...
- 最佳实践丨构建云上私有池(虚拟IDC)的5种方案详解
简介:云上私有池系列终篇终于来了,本文将重点介绍构建云上的私有池(虚拟IDC)的多种方案和各自的优缺点,并给出相关的性价比优化建议. 本文作者:阿里云技术专家李雨前 摘要 围绕私有池(虚拟IDC)的价 ...
- Dotnet core使用JWT认证授权最佳实践(二)
最近,团队的小伙伴们在做项目时,需要用到JWT认证.遂根据自己的经验,整理成了这篇文章,用来帮助理清JWT认证的原理和代码编写操作. 第一部分:Dotnet core使用JWT认证授权最佳实践(一) ...
- k8s停止服务_Kubernetes 服务部署最佳实践(二) 如何提高服务可用性
引言 上一篇 文章我们围绕如何合理利用资源的主题做了一些最佳实践的分享,这一次我们就如何提高服务可用性的主题来展开探讨. 怎样提高我们部署服务的可用性呢?K8S 设计本身就考虑到了各种故障的可能性,并 ...
- 一部分 数据 迁移_11项最佳实践,每次数据中心迁移都必不可少
随着企业业务和应用的发展,现有基础架构已经无法保障时,数据中心迁移无法避免,企业可能需要迁移来增加容量或推出新功能和服务. 基础架构要求可能会随时间变化,并且可能会考虑使用托管服务提供商或云服务的选项 ...
- 领域驱动设计之单元测试最佳实践(二)
领域驱动设计之单元测试最佳实践(一) 介绍完了DDD案例,我们终于可以进入主题了,本方案的测试代码基于Xunit编写,断言组件采用了FluentAssertions,类似的组件还有Shouldly.另 ...
- Docker最佳实践:构建最小镜像
镜像大小其实是衡量我们容器打包技术的重要指标,我们应该在不影响应用正常运行的情况下,尽量让我们的容器镜像变得更小,这样,不管是从安全还是维护效率角度来讲,都是最佳实践. 本文我们从两种情况阐述我们的问 ...
最新文章
- Java模拟ATM运行过程(第一版)
- 初中数学分几个模块_【初中数学】8大模块61个必考易错知识点!
- Maven(十)通过Maven缺失servlet.api的解决方式看provide(依赖范围)
- 汇编语言——《子程序应用(数制转换)程序设计》实验任务书
- 二.Sql语言的分类及运算符
- mysql安装1335_Mysql 安装问题。提示MySQL Server 5.1 -- Error 1335.
- 三种方式让你轻松监控 EntityFramework 中的 sql 流转
- codeforces1472 G. Moving to the Capital
- mac 下修改 jenkins 端口以及Jenkins的启动、关闭与更新
- python学习笔记第四节
- 沫沫金::struts下载文档[解决方案]
- 算法:两个数的和等于指定值1. Two Sum
- php运行方式isapi,PHP_WINDOWS 2000下使用ISAPI方式安装PHP,使用ISAPI方式安装PHP。
下载连 - phpStudy...
- 计算机图形学【GAMES-101】12、相机(视场、曝光、光圈(F-Stop)、薄棱镜近似、CoC、景深)
- Google 搜索语法
- 录音m4a怎么转换成mp3
- iOS视频添加水印两种方式(不用到第三方框架)
- 《嵌入式应用开发》实验一、开发环境搭建与布局
- Java 对象的克隆Clone和必须了解的浅拷贝与深拷贝
- arduino/Mixly使用ZH03BPM2.5传感器