分布式配置中心产生的背景 | 学习笔记

简介: 快速学习 分布式配置中心产生的背景

开发者学堂课程【精通 Spring Cloud Alibaba分布式配置中心产生的背景学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/634/detail/10084


分布式配置中心产生的背景


内容介绍:

一、在项目中定义配置文件最大的缺陷

二、定义配置规范

三、分布式配置中心的概念

四、分布式配置中心的框架


一、在项目中定义配置文件最大的缺陷

在项目中定义配置文件,最大的缺陷是如果在生产环境正在运行的时候突然需要修改配置文件的话,必须重启我们的服务器。

举例:

这里有个 springboot 项目 mayikt_nacos_client,项目中整合了一个 web 组件

配置文件只有一个端口号叫做8010

然后在 NacosController 中 加入了一个 SpringBoot 简单去实现的一个接口,

删除

import org.springframework.cloud.context.config.annotati

on.RefreshScope

可以看到在下面定义了一个配置文件叫 mayikt

public class NacosController {

@Value(${mayikt.name})

private String userName;

@RequestMapping(/getConfig)

public String getConfig() { return userName; }

public static void main(String[] args) {SpringApplication.run

(NacosController.class);

}

}

这时再去访问 getConfig 这样的一个切口时,能够读取到这个配置文件


二、定义配置规范

定义配置规范:前面一定加上团队名称

举例: application.yml

如果像这样来命名配置文件,阅读性很差:

name: mayikt

age: 21

例如规范为

mayikt:

name:每特教育牛逼~~

运行 NacosController.java 启动成功,

现在访问接口127.0.0.1:8010/getConfig

现在要修改配置文件 mayikt:name:

为每特教育|蚂蚁课堂牛逼~~,直接修改不会进行同步更新,因为配置文件是默认在项目启动的时候去读取到配置文件,然后放到内存里,此外不建议做热部署,因为热部署在这个环境下其实有很多 bug ,如果注了一些 class 文件,那么进行动态的运行肯定不太好,所以在这种环境不允许热部署。热部署一般是属于在本地开发,能够帮助我们快速去重启去加载我们的 class 文件

那么想要 mayikt:

name:每特教育|蚂蚁课堂牛逼~~

这样一个配置文件生效的话,需要重新打包运行,重新运行一下,可以看到最终结果显示每特教育|蚂蚁课堂牛逼~~但是如果每次想要修改配置文件,都要重启项目很麻烦。

所以就引出了分布式配置中心


三、分布式配置中心的概念

使用专门的服务器统一存放管理我们整个的微服务的配置文件,能够完全动态实现对我们配置文件修改、新增,是不需要重启我们的服务器


四、分布式配置中心的框架

携程的阿波罗(属于比较重的分布式配置)Nacos(属于轻量级)SpringCloud Config(没有界面) /disConfig 等。

轻量级:

部署、架构设计原理都比较简单,学习成本也是比较低;

重量级:

部署、架构设计、提亮都是非常大,学习成本是比较高。

相关文章
|
3月前
|
机器学习/深度学习 监控 算法
分布式光伏储能系统的优化配置方法(Matlab代码实现)
分布式光伏储能系统的优化配置方法(Matlab代码实现)
164 1
|
2月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
178 12
|
8月前
|
安全 网络安全 数据库
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
|
数据库
如何在Seata框架中配置分布式事务的隔离级别?
总的来说,配置分布式事务的隔离级别是实现分布式事务管理的重要环节之一,需要认真对待和仔细调整,以满足业务的需求和性能要求。你还可以进一步深入研究和实践 Seata 框架的配置和使用,以更好地应对各种分布式事务场景的挑战。
594 160
|
10月前
|
SQL 数据建模 BI
【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错
|
11月前
|
消息中间件 负载均衡 Java
如何设计一个分布式配置中心?
这篇文章介绍了分布式配置中心的概念、实现原理及其在实际应用中的重要性。首先通过一个面试场景引出配置中心的设计问题,接着详细解释了为什么需要分布式配置中心,尤其是在分布式系统中统一管理配置文件的必要性。文章重点分析了Apollo这一开源配置管理中心的工作原理,包括其基础模型、架构模块以及配置发布后实时生效的设计。此外,还介绍了客户端与服务端之间的交互机制,如长轮询(Http Long Polling)和定时拉取配置的fallback机制。最后,结合实际工作经验,分享了配置中心在解决多台服务器配置同步问题上的优势,帮助读者更好地理解其应用场景和价值。
589 18
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
269 1
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
210 0
|
Java 测试技术 Spring
分布式之配置中心
分布式之配置中心
167 1