假设你有一个带有一组配置的“巨石”
{
id: 1273,
fooConfig: { .. },
barConfig: { .. },
bazConfig: { ...}
}
并且您希望将其拆分为Foo
,Bar
和Baz
服务,这些服务在中央工作流引擎要求时运行。
您是否需要在服务中存储每个配置,例如
// 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个作业服务中?
你可以在公共场所保存。实际上存在称为外部配置存储的模式。 。我们的想法是在中央位置保存配置并根据需要进行访问。这很简单,如果明天你添加更多服务,你可以想象其中的好处。你可以在这里找到更多关于External Configuration Pattern的信息