0

我在我的应用程序中创建了用于连接第 3 方服务的服务结构。我们有相同功能的多个提供商。在这里,我创建了一个结构应用程序并为每个提供商(第三方服务)创建了多个无状态服务,并且工作正常。现在我需要为所有功能添加一些其他提供程序。

在一个应用程序下创建更多无状态服务时是否会出现任何性能问题?

特点一:

F1_provider 1、F1_provider 2、F1_Provider 3。

特点二:

F2_provider 1、F2_provider 2、F2_provider 3。

  1. 是否需要为功能 2 创建单独的结构应用程序并为 F2_Providers 创建多个无状态服务?

  2. 我们可以在同一个结构应用程序下创建多个提供者吗?

4

1 回答 1

1

您的问题不清楚真正的问题是什么。如果你给出真实的例子,可能更容易给你更好的答案。

关于主要问题:

应用程序只是您的服务的逻辑隔离,因此一个应用程序具有 100 个一种服务类型的实例或有 100 个应用程序具有一个实例并没有太大区别,最后,运行的实例数将是相同的(除非您决定采用共享流程方法,这看起来不是您的情况),最大的区别将是您将如何管理它们。

如果关注的是管理,多个应用程序可能会给您更多的灵活性,但会更难维护。

例如:

假设您有一个具有两种服务类型(ServiceAlphaType、ServiceBetaType)的应用程序,并且每个应用程序都有多个命名实例(美国、英国),例如:

ApplicationName
- ServiceAlphaType (Type)
  - ServiceAlphaUS (NamedService)
  - ServiceAlphaUK (NamedService)
- ServiceBetaType (Type)
  - ServiceBetaUS (NamedService)
  - ServiceBetaUK (NamedService)

如果要将服务类型ServiceBetaType升级到更新版本,使用差异打包,那么ServiceBetaType的两个命名实例(ServiceBetaUS,ServiceBetaUK) 都将被升级,如果它们是同一应用程序实例的一部分,则无法避免。

如果您只想升级其中的一部分,则必须在单独的应用程序中创建它们,并且升级应用程序只会影响在其下运行的那些服务:

ApplicationUS
- ServiceAlphaType (Type)
  - ServiceAlphaUS (NamedService)
- ServiceBetaType (Type)
  - ServiceBetaUS (NamedService)

ApplicationUK
- ServiceAlphaType (Type)
  - ServiceAlphaUK (NamedService)
- ServiceBetaType (Type)
  - ServiceBetaUK (NamedService)

注意:要仅升级具有更改服务的应用程序,您必须使用服务结构的差异打包功能来打包应用程序。

于 2018-03-19T20:03:06.847 回答