分布式之配置中心

简介: 分布式之配置中心

文章目录:

  • 前言
  • 市面上的配置中心
  • 还有哪些应用场景?
  • 小结
  • 推荐阅读

前言

我们在平时工作中可能会有这样的需求,系统运行期间需要动态调整配置项,比如:

  • 调整系统告警人
  • 调整活动开关
  • 调整降级开关
  • 调整日志级别
  • ...

以上这些还不够,随着程序功能的日益复杂对配置的期望也越来越高,还需要满足:

  • 实现分环境、分集群的管理配置
  • 实现配置的灰度发布
  • 配置的发布需要完善的授权机制
  • 配置的发布需要记录发布历史
  • 支持配置回滚到上一个发布版本
  • ...

怎么解决上述问题,有没有开源产品?

市面上的配置中心

  • Apollo[1]
  • Disconf[2]
  • Spring Cloud Config[3]

如何选择?大家可以自行翻阅下文档。

我的最终选择是 Apollo

  1. 修改/发布配置
  2. 配置更新通知
  3. 获取最新配置

b9383a4c708fb7c7cc03122e7eef71ba.png


下图是 Apollo 架构模块的概览:

5acd62d64a239540bc6c3d1afd09c4fd.png

还有哪些应用场景?

应用场景广泛,只要软件中涉及到有本地配置文件的,都可以使用这种方式实现动态配置。

只需要自己实现一个 apollo-client 即可,当配置发生更新时,拉取最新配置信息,然后将配置信息处理成软件所需的配置格式。

小结

这篇文章比较短,主要介绍了为什么需要配置中心以及市面上有哪些开源配置中心可供选择。

Apollo 有完善的管理界面,这个我比较喜欢,哈哈。

推荐阅读

  1. 分布式事务之理解篇
  2. 分布式事务之最终一致性实现方案
  3. 分布式之异步通讯组件选择

参考资料

[1]Apollo: https://github.com/apolloconfig/apollo

[2]Disconf: https://github.com/knightliao/disconf

[3]Spring Cloud Config: https://github.com/spring-cloud/spring-cloud-config

目录
相关文章
|
25天前
|
消息中间件 负载均衡 Java
如何设计一个分布式配置中心?
这篇文章介绍了分布式配置中心的概念、实现原理及其在实际应用中的重要性。首先通过一个面试场景引出配置中心的设计问题,接着详细解释了为什么需要分布式配置中心,尤其是在分布式系统中统一管理配置文件的必要性。文章重点分析了Apollo这一开源配置管理中心的工作原理,包括其基础模型、架构模块以及配置发布后实时生效的设计。此外,还介绍了客户端与服务端之间的交互机制,如长轮询(Http Long Polling)和定时拉取配置的fallback机制。最后,结合实际工作经验,分享了配置中心在解决多台服务器配置同步问题上的优势,帮助读者更好地理解其应用场景和价值。
62 18
|
2月前
|
数据库
如何在Seata框架中配置分布式事务的隔离级别?
总的来说,配置分布式事务的隔离级别是实现分布式事务管理的重要环节之一,需要认真对待和仔细调整,以满足业务的需求和性能要求。你还可以进一步深入研究和实践 Seata 框架的配置和使用,以更好地应对各种分布式事务场景的挑战。
72 6
|
3月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
74 1
|
3月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
66 0
|
5月前
|
UED 存储 数据管理
深度解析 Uno Platform 离线状态处理技巧:从网络检测到本地存储同步,全方位提升跨平台应用在无网环境下的用户体验与数据管理策略
【8月更文挑战第31天】处理离线状态下的用户体验是现代应用开发的关键。本文通过在线笔记应用案例,介绍如何使用 Uno Platform 优雅地应对离线状态。首先,利用 `NetworkInformation` 类检测网络状态;其次,使用 SQLite 实现离线存储;然后,在网络恢复时同步数据;最后,通过 UI 反馈提升用户体验。
136 0
|
5月前
|
机器学习/深度学习 TensorFlow 数据处理
分布式训练在TensorFlow中的全面应用指南:掌握多机多卡配置与实践技巧,让大规模数据集训练变得轻而易举,大幅提升模型训练效率与性能
【8月更文挑战第31天】本文详细介绍了如何在Tensorflow中实现多机多卡的分布式训练,涵盖环境配置、模型定义、数据处理及训练执行等关键环节。通过具体示例代码,展示了使用`MultiWorkerMirroredStrategy`进行分布式训练的过程,帮助读者更好地应对大规模数据集与复杂模型带来的挑战,提升训练效率。
143 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能平台PAI产品使用合集之如何配置cluster系统自动生成分布式参数
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
8月前
|
Cloud Native Java 开发工具
云原生 阿里云分布式文件系统 对象存储OSS 服务配置
【1月更文挑战第8天】云原生 阿里云分布式文件系统 对象存储OSS 服务配置
|
7月前
|
网络安全 数据安全/隐私保护
分布式系统详解--框架(Hadoop-Ssh免密登陆配置)
分布式系统详解--框架(Hadoop-Ssh免密登陆配置)
80 0
|
8月前
|
安全
考虑极端天气线路脆弱性的配电网分布式电源和储能优化配置模型
考虑极端天气线路脆弱性的配电网分布式电源和储能优化配置模型

热门文章

最新文章