Azure Service Fabric - 为多个第 3 方服务创建应用程序
Azure Service Fabric - Application creation for multiple 3rd party services
我已经在我的应用程序中创建了用于连接第 3 方服务的服务结构。我们有同一功能的多个提供商。在这里,我创建了一个结构应用程序并为每个提供商(第 3 方服务)创建了多个无状态服务,并且工作正常。现在我需要为所有功能添加一些其他提供商。
在一个应用下创建多个无状态服务会不会出现性能问题?
功能 1:
F1_provider1,F1_provider2,F1_Provider3.
特征 2:
F2_provider1,F2_provider2,F2_provider3.
是否需要为功能 2 创建单独的结构应用程序并为 F2_Providers 创建多个无状态服务?
我们可以在同一个 fabric Application 下创建 Multiple provier 吗?
你的问题并不清楚真正的问题是什么。如果你给出真实的例子,可能会更容易给你更好的答案。
关于主要问题:
应用程序只是您的服务的逻辑隔离,因此一个应用程序具有一种服务类型的 100 个实例或具有 100 个应用程序每个实例一个实例并没有太大区别,最后,实例数 运行 将是相同的(除非您决定采用共享流程方法,否则看起来不是您的情况),最大的区别在于您将如何管理它们。
如果关注的是管理,多个应用程序可能会给您带来更大的灵活性,但会更难维护。
例如:
假设您有一个具有两种服务类型(ServiceAlphaType、ServiceBetaType)的应用程序,并且每个应用程序都有多个命名实例(美国、英国),例如:
ApplicationName
- ServiceAlphaType (Type)
- ServiceAlphaUS (NamedService)
- ServiceAlphaUK (NamedService)
- ServiceBetaType (Type)
- ServiceBetaUS (NamedService)
- ServiceBetaUK (NamedService)
如果您想将服务类型 ServiceBetaType 升级到较新版本,使用差异化包装, 那么 [=31] 的两个命名实例=]ServiceBetaType (ServiceBetaUS,ServiceBetaUK) 将升级,如果它们是同一应用程序实例的一部分,则无法避免。
如果您只想升级其中的一部分,则必须在单独的应用程序中创建它们,升级应用程序只会影响其下面的那些服务运行:
ApplicationUS
- ServiceAlphaType (Type)
- ServiceAlphaUS (NamedService)
- ServiceBetaType (Type)
- ServiceBetaUS (NamedService)
ApplicationUK
- ServiceAlphaType (Type)
- ServiceAlphaUK (NamedService)
- ServiceBetaType (Type)
- ServiceBetaUK (NamedService)
注意:要升级仅包含已更改服务的应用程序,您必须使用 service fabric 的 differential packaging 功能打包应用程序。
我已经在我的应用程序中创建了用于连接第 3 方服务的服务结构。我们有同一功能的多个提供商。在这里,我创建了一个结构应用程序并为每个提供商(第 3 方服务)创建了多个无状态服务,并且工作正常。现在我需要为所有功能添加一些其他提供商。
在一个应用下创建多个无状态服务会不会出现性能问题?
功能 1:
F1_provider1,F1_provider2,F1_Provider3.
特征 2:
F2_provider1,F2_provider2,F2_provider3.
是否需要为功能 2 创建单独的结构应用程序并为 F2_Providers 创建多个无状态服务?
我们可以在同一个 fabric Application 下创建 Multiple provier 吗?
你的问题并不清楚真正的问题是什么。如果你给出真实的例子,可能会更容易给你更好的答案。
关于主要问题:
应用程序只是您的服务的逻辑隔离,因此一个应用程序具有一种服务类型的 100 个实例或具有 100 个应用程序每个实例一个实例并没有太大区别,最后,实例数 运行 将是相同的(除非您决定采用共享流程方法,否则看起来不是您的情况),最大的区别在于您将如何管理它们。
如果关注的是管理,多个应用程序可能会给您带来更大的灵活性,但会更难维护。
例如:
假设您有一个具有两种服务类型(ServiceAlphaType、ServiceBetaType)的应用程序,并且每个应用程序都有多个命名实例(美国、英国),例如:
ApplicationName
- ServiceAlphaType (Type)
- ServiceAlphaUS (NamedService)
- ServiceAlphaUK (NamedService)
- ServiceBetaType (Type)
- ServiceBetaUS (NamedService)
- ServiceBetaUK (NamedService)
如果您想将服务类型 ServiceBetaType 升级到较新版本,使用差异化包装, 那么 [=31] 的两个命名实例=]ServiceBetaType (ServiceBetaUS,ServiceBetaUK) 将升级,如果它们是同一应用程序实例的一部分,则无法避免。
如果您只想升级其中的一部分,则必须在单独的应用程序中创建它们,升级应用程序只会影响其下面的那些服务运行:
ApplicationUS
- ServiceAlphaType (Type)
- ServiceAlphaUS (NamedService)
- ServiceBetaType (Type)
- ServiceBetaUS (NamedService)
ApplicationUK
- ServiceAlphaType (Type)
- ServiceAlphaUK (NamedService)
- ServiceBetaType (Type)
- ServiceBetaUK (NamedService)
注意:要升级仅包含已更改服务的应用程序,您必须使用 service fabric 的 differential packaging 功能打包应用程序。