Apollo 太重,最终选择了 Nacos

面试:Nacos、Apollo、Config配置中心如何选型?10个维度告诉你 应用的配置数据存储在配置中心一般都会以一种配置格式存储,比如Properties、Json、Yaml等,如果配置格式错误,会导致客户端解析配置失败引起生产故障,配置中心对配置的格式校验能够有效防止人为错误操作的发生,是配置中心核心功能中的刚需。Nacos的应用概念比较弱,只有一个用于区分配置的额外属性,不过可以使用 Group 来做应用字段,可以起到隔离作用。配置的灰度发布是配置中心比较重要的功能,当配置的变更影响比较大的时候,需要先在部分应用实例中验证配置的变更是否符合预期,然后再推送到所有应用实例。 阅读详情

今天这篇文章将重点分析 nacos 和 apollo 在设计上的差异;以下分析基于 apollo 1.8.0 和 nacos 2.1.0。

安全性的差异

这里说的安全性,不是指控制台读配置中心,而是客户端读配置中心。

之前我说过,如果所有环境都共用一个配置中心,会存在安全问题。因为开发人员能拿到测试环境的配置,按理也能拿到生产环境的配置。

为了解决这个问题,一般有两个方案:

①不同环境使用不同的配置中心。

apollo 用的就是这一种,当客户端需要获取生产配置时,运维需要在项目的启动参数中指定生产环境的配置中心。

这种方案要想可靠,生产环境的 config server 地址绝对不能泄露。可怕的是,我曾经就遇到过直接把 config server 注册到公用 eureka 上面的。

②不同环境使用同一的配置中心,但要做好环境隔离。

nacos 则采用这一种,隔离的方案就是命名空间 + 鉴权。

和 apollo 不同,客户端去读 nacos 是需要账号密码的,当客户端需要获取生产配置时,运维需要在项目的启动参数中指定生产环境的 namespace 以及对应的账号密码。

上面说到了 namespace。apollo 和 nacos 都有这个概念,不过,在 apollo 里,

Springcloud服务同时使用eureka和nacos Springcloud服务同时使用eureka和nacos 文章目录Springcloud服务同时使用eureka和nacos一,背景二,代理服务创建和配置2.1 pom.xml2.2 bootstrap.yml2.3 Application.java2.4 创建接口2.4.1 ApiMessageController.java2.4.2 MyNacosProperties.java2.5 运行测试三,将该服务引入eureka注册中心 一,背景 之所以会想到一个服务同时使用eureka和nacos,是因为遇 阅读详情

相关推荐

中间件:分布式系统的交通枢纽与核心组件实战解析

在分布式系统架构中,中间件作为连接应用与基础设施的关键组件,其核心价值在于解耦、复用与标准化。从原理上看,中间件通过提供标准接口和协议,将业务逻辑与底层技术细节分离,例如消息队列实现异步通信,缓存加速数据访问。其技术价值在于提升系统扩展性、可靠性和开发效率,是构建高可用、高性能系统的基石。应用场景广泛,涵盖服务通信、数据管理、系统协调等,例如API网关统一入口、Redis缓存热点数据、Nacos实现服务发现。本文聚焦于中间件的核心思想、主流组件(如Kafka、Redis)的深度解析,并结合部署配置与生产运维

chongyuwan4121的博客 487

变化契约:重构日志与配置的架构思维

在分布式系统中,日志、配置、数据访问等基础设施并非静态能力,而是承载业务变化的核心契约载体。其本质是将高频变动的业务规则(如审计字段、风控策略、合规要求)与稳定的技术协议(如接口定义、序列化格式、通信标准)解耦。通过识别表象变化、驱动变化和本质变化三层结构,可构建支持热更新、零停机、低认知成本的弹性系统。本文聚焦日志组件演进与配置治理实践,结合 log4net 故障复盘、LogEntry 契约设计、策略服务化等真实场景,揭示如何用变化契约替代硬编码,让系统真正适应业务节奏而非技术潮流。

unixboy 474

Spring Boot动态数据源配置加密:基于EnvironmentPostProcessor的自定义解密方案

在Spring Boot企业级应用中,数据源配置管理是保障应用安全的关键环节。动态数据源(Dynamic-Datasource)作为多数据源场景的常用解决方案,其配置文件中的数据库连接信息(如密码、URL)往往包含敏感数据。传统的明文存储方式存在安全风险,而通用加密工具如Jasypt有时无法满足特定架构或算法要求。本文从Spring Boot的Environment机制切入,深入解析如何通过实现EnvironmentPostProcessor接口,在配置加载阶段植入自定义解密逻辑。该方案采用AES-GCM等

蓝色妖姬 493

log4j初始化失败警告:No appenders could be found原因与根治

Log4j是Java生态中历史悠久的日志框架,其核心机制围绕Logger、Appender和配置加载展开。当出现'No appenders could be found'警告时,本质是log4j 1.x在类加载阶段未能成功挂载任何Appender——既非语法错误,也非类缺失,而是日志输出通道未建立。该问题深层关联log4j.xml或log4j.properties的加载顺序、ClassLoader资源可见性、DOMConfigurator解析容错性等运行时行为。在遗留系统、微服务模块化部署及Spring B

weixin_34327761的博客 427

机器学习模型上线:从Notebook到生产系统的工程化落地

机器学习模型部署不是算法训练的终点,而是作为可监控、可降级、可审计的服务组件嵌入业务系统的第一步。其核心挑战在于系统集成、实时特征一致性、端到端延迟控制与数据漂移响应,而非单纯模型精度优化。在金融、电商等高敏场景中,P99延迟、特征契约、Fallback策略和四层监控(基础设施/服务/数据/业务)共同构成生产级ML的工程基座。本文聚焦模型上线后的系统性保障实践,涵盖血缘图设计、延迟预算拆解、漂移SOP、压力测试四大拷问及治理权责迹闭环,为AI从实验室走向千万级QPS真实流量提供可复用的方法论。

weixin_34161064的博客 300

Java轻量级规则引擎Easy Rules实战:告别if-else,实现业务逻辑动态编排

规则引擎是一种将业务决策逻辑从应用程序代码中剥离出来的核心技术,它通过实现逻辑与数据的解耦,解决了业务系统频繁变更带来的硬编码痛点。其核心原理是将业务规则抽象为独立的、可执行的单元,由专门的引擎进行统一管理和评估。这项技术的核心价值在于提升系统的可维护性、灵活性和响应业务变化的速度,广泛应用于营销活动、风控策略、审批流程等需要动态调整业务逻辑的场景。本文聚焦于轻量级Java规则引擎库Easy Rules,它以其极简的API设计、低学习成本和灵活的规则定义方式,为开发者提供了一种优雅的替代复杂if-else语

weixin_34162228的博客 943

学习笔记|多组率卡方检验和Fisher确切法|个案加权|规范表达|《小白爱上SPSS》课程:SPSS第十六讲 | 多组率卡方检验和Fisher确切法

学习笔记|多组率卡方检验和Fisher确切法|个案加权|规范表达|《小白爱上SPSS》课程:SPSS第十六讲 | 多组率卡方检验和Fisher确切法

Medlar_CN的博客 2965

FreeRTOS的学习(十四)——PendSV异常

本文将从任务切换的角度出发,学习PendSV异常的相关概念。

LEOD的博客 1731

实验六 存储器实验

只读存储器(ROM)是一种在正常工作时其存储的数据固定不变,其中的数据只能读出,不能写入,即使断电也能够保留数据,要想在只读存储器中存入或改变数据,必须具备特定的条件。当地址为00000101时,会分别在数据位宽为8,16,32的只读寄存器中找到地址为00000101所对应的十进制地址位置,也就是地址为5的数据,并将其分别以8位,16位,32位输出。因此,输出保持为0。因此,当异步清零信号为1时,无论其他输入信号是什么,触发器的输出都会被强制清零,输出为0。1)寄存器输入0011,使能端1,异步清零0。

wenmou1111的博客 3006

Swift Package Manager (SPM) 创建并集成本地库

Swift Package Manager (SPM) 在macOS 项目中创建并集成的完整步骤

征战无悔人生 1426

基于Xilinx_IBERT的光纤接口眼图测试

基于Xilinx_IBERT的光纤接口眼图测试

Coca_Tian的博客 1万+

YOLOv13涨点改进 | 全网独家创新、HyperACE改进、注意力改进篇 | CVPR 2025| 引入LRSA局部区域自注意力模块,能提升其在细节捕捉、小目标检测和长距离依赖建模方面的能力

本文提出将LRSA(局部区域自注意力)模块集成到YOLOv13中,通过局部特征交互增强细节捕捉能力、小物体检测精度和长距离依赖建模。LRSA模块采用重叠图像块处理策略,在保持计算效率的同时提升复杂背景下的检测性能。文章详细介绍了模块结构、原理优势,并提供了三种改进方案:1)在主干网络添加LRSA层;2)将关键模块替换为DSC3k2_LRSA;3)采用HyperACE_LRSA结构。配套提供了完整的PyTorch实现代码和YAML配置文件,展示了该模块如何通过局部注意力机制平衡检测精度与推理速度。

Ai缝合怪、助力小伙伴高效发论文 345

YOLOv12涨点改进 | 独家创新-注意力改进篇 | ECCV 2024 | YOLOv12引入AgentAttention代理注意力模块,兼顾 Softmax 和线性注意力优点,提高检测精度

🔥本文给大家介绍使用Agent Attention模块改进YOLOv12网络模型。其主要作用是通过引入高效的代理token来减少计算复杂度,同时保留全局上下文建模能力。相比传统的Softmax注意力,Agent Attention通过代理token聚合并广播信息,从而降低了模型在处理高分辨率图像时的计算负担,并显著提高了推理速度。其优势在于保持了目标检测中的全局信息处理能力,同时加速了生成过程,特别是在高分辨率场景下,可以提高检测精度、减少内存消耗,并提升处理速度。

Ai缝合怪、助力小伙伴高效发论文 156

uniapp - 最新详细实现web-view网页与安卓苹果App端之间互相通信功能,苹果app/安卓app平台与内嵌webview组件内的网页进行相互传值,内置网页与app双向实时通信,详细示例代码

uni-app,Android安卓,苹果ios,app,内嵌webview,第三方H5网页,app和web-view通信传值,web-view引入的页面向App主应用传递数据,App端与webview端相互通信,App端和H5端webview之间的通信,uniapp实现webview和APP之间的传值通信,如何互相传递对象数据,数据传递了接收不到,web-view页面向app内发送消息,监听传递的参数,uni-app和web-view页面相互传参,报错怎么办,跨域,屏幕空白出错,数据交互,解决手机物理返回按

🏆 前端领域优质创作者 4742

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: 五张图带你彻底理解 RocketMQ 轨迹消息
下一篇: 如何通过策略模式简化 if-else?
JavaShark
博客等级 码龄4年 184粉丝 438原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值