news 2026/8/11 7:49:47

开发工作中哪些需要在Apollo进行配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开发工作中哪些需要在Apollo进行配置

最近需要对新对接的需求进行测试(别人已经写好了,我需要进行后续的功能测试),但是让人恼火的是,由于从仓库克隆的本地项目的yml文件中没有应用相关的配置,比如服务名、端口等信息,且在Apollo没有相关的权限,所以还需要申请权限,走流程,才能找到对应的应用信息。

因为之前做的项目,应用的基本信息(应用名、端口等)都直接在配置在项目resources目录下的yml文件中,所以,能很快拼接处对应controller的url,由此想到,到底哪些信息是需要在Apollo配置,哪些配置在yml文件,哪些需要定义常量/枚举进行配置?

配置方式的区别

1、yml文件

具有层次分明、结构清晰的特点,特别适合配置这些需要组织和分类的信息

2、Apollo

通过将这些配置项集中管理,可以实现配置的动态更新,无需重启服务即可生效,极大地提升了系统的灵活性和可维护性

3、常量类/枚举类

配置信息集中管理,便于维护和修改,避免硬编码带来的问题。可以根据功能划分常量类,如缓存相关常量放在CacheConsts类下,系统配置相关常量放在ConfigConsts类下。

配置方式的范畴

1、yml文件
1‌.1.适合配置在yml文件中的信息
  • 基础配置信息:服务器端口号‌、应用名称、日志级别‌
  • 数据库连接配置:数据库URL‌、用户名密码、连接池配置
  • 缓存配置:‌缓存启用状态‌、‌缓存过期时间‌
  • 环境相关配置:‌多环境配置‌、‌开发环境配置‌
  • 第三方服务配置:‌API密钥(如external.api.key: abc123)、‌服务地址‌(如external.service.url: https://api.example.com)
  • 业务配置:‌功能开关‌(如feature.new-ui.enabled: true)、‌业务参数‌(如business.timeout: 5000)
2、Apollo
2.1.哪些配置项适合放在Apollo
  • 环境相关:不同环境(如开发、测试、生产)下的数据库连接地址、端口、用户名、密码等
  • 服务间通讯配置:微服务之间的调用地址、超时时间、重试次数等
  • 第三方服务配置:如第三方API的访问地址、密钥、Token等
  • 业务配置:业务开关、功能开关、活动配置等
  • 缓存配置:Redis、Memcached等缓存服务的连接信息、缓存过期时间等
  • 日志配置:日志级别、日志输出路径、日志格式等
  • 安全相关配置:JWT密钥、OAuth2配置、权限控制配置等
  • ‌定时任务配置‌:定时任务的执行时间、频率等
  • 客户端配置:客户端需要动态获取的配置项,如接口地址、参数等
2.2.哪些配置项不适合放在Apollo
  • ‌敏感信息‌

数据库密码、API密钥、OAuth Token等敏感配置信息应避免直接存储在配置中心,建议使用加密存储或通过安全的密钥管理服务进行管理。

  • 与特定环境强绑定的配置

某些配置项可能与特定的硬件环境或操作系统相关,例如特定服务器的路径、端口等,这类配置更适合通过环境变量或本地配置文件来管理

  • 频繁变更且无业务意义的配置

一些仅用于调试或临时测试的配置项,如日志级别、调试开关等,如果变更频率极高且对业务无直接影响,可以考虑不纳入配置中心。

  • 与应用启动强相关的配置

如应用的启动参数、JVM参数等,这些通常在应用启动时就需要确定,不适合通过配置中心动态加载。

  • 非动态配置项

一些在应用生命周期中不会发生变化的配置,如应用的版本号、应用名称等,这些配置更适合在构建时固化到应用中。

  • 性能敏感的配置

对于需要极低延迟访问的配置项,如某些缓存策略、连接池大小等,如果配置中心的访问延迟影响性能,可能需要考虑本地缓存或直接硬编码。

3、常量类/枚举类
3.1 适合配置在常量中的信息
  • ‌基础配置信息‌:文件路径和文件名配置、API接口地址和访问路径
  • 业务逻辑常量‌:业务状态码和状态描述、业务开关标识、功能模块标识、业务规则相关的数值常量
  • 系统配置参数‌:系统默认值(超时时间、重试次数)、缓存配置参数、线程池大小配置
  • 枚举类型常量‌:适用于在固定范围内变化且带有延伸属性的值,如状态枚举、类型枚举等
  • 复用性高的配置‌:
    • 跨应用共享的常量,放置在二方库中
    • 应用内共享常量,放置在一方库中
    • 包内或类内共享的常量

PS:一方库、二方库、三方库区别如下表

库类型来源适用场景使用方式
一方库本项目内部项目内模块复用模块依赖
二方库公司内部其他项目公司内代码复用配置pom文件
三方库公司外部使用成熟开源库配置pom文件
总结

配置方式除了这里列的几种外,还有其他的(如properties、命令行等),每种配置方式各有特点,可以根据具体的应用场景和需求选择合适的配置方式。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/2 1:44:12

appinfoext.dll文件丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/8/9 23:27:28

机器学习伦理与公平算法的科学探索

某中心的学者迈克尔卡恩斯和亚伦罗思讨论了机器学习的伦理问题 两位世界领先的算法偏见专家回顾了过去一年的事件,反思了我们学到了什么,我们仍在努力解决什么,以及我们还有多远的路要走。 2019年11月,宾夕法尼亚大学计算机科学教…

作者头像 李华
网站建设 2026/8/10 3:59:34

信任链重构:当AI成为品牌与消费者之间的“信任中介”

引言:信息环境剧变下的信任新课题 设想两位潜在车主的研究路径:一位通过传统搜索引擎,浏览多家汽车媒体评测、综合论坛车主口碑,耗时良久后得出结论“品牌X的自动驾驶功能比较可靠”。另一位则向AI助手提问:“当前20-…

作者头像 李华
网站建设 2026/7/28 11:04:17

智能制造MES系统如何调用WordPress的PPT转码接口?

要求:开源,免费,技术支持 博客:WordPress 开发语言:PHP 数据库:MySQL 功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,导入微信公众号内容,web截屏 平台:Window…

作者头像 李华
网站建设 2026/8/8 7:07:12

《把脉行业与技术趋势》-64-何为方向正确:方向是未来的目标,当种群生命的周期、国家宏观政策的生命周期、行业发展的生命周期、企业发展的周期、产品的发展生命周期、个人的职业操作周期,完全契合了,便是正确

一、方向的本质:不是路径,而是势能的汇聚点 方向并非一条固定路线,而是一个动态的、多维共振的目标状态。 单靠个人努力(如加班、学习)若脱离时代趋势,可能只是“高效地跑偏”;而当你的行动恰…

作者头像 李华
网站建设 2026/8/8 1:34:13

springboot三体科幻社区管理系统 商城 论坛好友私信

目录系统概述核心功能模块技术实现亮点扩展性设计项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统概述 SpringBoot三体科幻社区管理系统是一个集商城、论坛、好友私信功能于一体的综合性平台&#xff…

作者头像 李华