首页 > 解决方案 > 将 1 个服务拆分为多个服务时,是否需要拆分服务的配置并将每个部分存储在服务中?

问题描述

假设您有一个带有一组配置的“单体”

{
    id: 1273,
    fooConfig: { .. },
    barConfig: { .. },
    bazConfig: { ...}
}

并且您希望将其拆分为Foo,BarBaz在中央工作流引擎要求时运行作业的服务。

您是否需要将每个配置存储在服务中,例如

// Foo service config (stored in Foo service)
{
   id: 1273,
   .
   .  // fooConfig stuff
   .
} 

// Bar service config (stored in Bar service)
{
   id: 1273,
   .
   .  // barConfig stuff
   .
} 

// Baz service config (stored in Baz service)
{
   id: 1273,
   .
   .  // bazConfig stuff
   .
} 

或者您可以将配置存储在其他一些服务(比如Configuration Manager服务)中,并在调用它们时将其各自的部分输入到 3 个作业服务中?

标签: web-servicesdesign-patternsservicearchitecturemicroservices

解决方案


您可以保存在常见的地方。实际上有一种称为外部配置存储的模式。. 这个想法是将配置保存在中心位置并根据需要进行访问。这很容易,如果明天您添加更多服务,您可以想象得到的好处。您可以在此处找到有关外部配置模式的更多信息


推荐阅读