Azure Service Fabric - 为多个第三方服务创建应用程序

时间:2018-03-19 11:46:31

标签: azure azure-service-fabric service-fabric-stateless

我已在我的应用程序中创建了Service Fabric以连接第三方服务。我们有相同功能的多个提供商。在这里,我创建了一个面料应用程序&为每个提供商(第三方服务)创建了多个无状态服务。它工作正常。现在我需要为所有功能添加一些其他提供程序。

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

功能1:

F1_provider 1,F1_provider 2,F1_Provider 3。

功能2:

F2_provider 1,F2_provider 2,F2_provider 3。

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

  2. 我们可以在相同的Fabric应用程序下创建Multiple provier吗?

1 个答案:

答案 0 :(得分:1)

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

关于主要问题:

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

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

例如:

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

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

如果要将服务类型 ServiceBetaType 升级到较新版本,使用差异打包,则将 ServiceBetaType (ServiceBetaUS, ServiceBetaUK)将被升级,如果它们属于同一个Application实例,则无法避免。

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

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

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

注意:要仅使用已更改的服务升级应用程序,您必须使用服务结构的differential packaging功能打包应用程序。