外部配置

问题说明

微服务架构将应用程序构建为一组松散耦合的微服务,每个服务都可以以敏捷的方式独立开发,以实现持续交付/部署。 这些服务通常与基础设施服务或第三方服务交互。

基础设施服务可能包括服务注册表、消息代理、数据库服务器。 第三方服务可以是支付服务、电子邮件服务、消息服务。 除了不同的服务之外,环境也常常不同。 考虑以下情况 −

  • 配置数据 − 应向微服务提供对外部/第三方服务的配置,例如数据库凭据、网络 URL 等。

  • 多个环境 − 通常有不同的环境,例如开发、质量保证、测试、登台或预生产和生产。 服务应部署在每个环境上,无需修改任何代码。

  • 不同的配置数据 − 外部/第三方服务的配置也因开发和生产而异,例如开发数据库到生产数据库,测试支付处理器与原始支付处理器服务。

解决方案

我们可以将所有配置从数据库凭据外部化到网络 URL。 服务将在启动期间读取配置数据,例如 来自属性文件/系统环境变量或使用命令行参数。 此模式有助于部署微服务,无需任何修改/重新编译。