【问题标题】:Questions related to Service Fabric and .Net Framework > 4.5.2与 Service Fabric 和 .Net Framework 相关的问题 > 4.5.2
【发布时间】:2017-09-06 01:13:18
【问题描述】:

我们目前正在使用 Service Fabric 应用程序(运行时版本:5.1.163.9590)。我知道那里有更新的版本。但我的问题很笼统。

用于创建新服务结构应用程序(用于上述运行时)的 Visual Studio 模板默认为 .NET Fraemwork 版本 4.5.2。但我们想使用 .NET Framework 4.6.x。 (我知道 C# 编译器的某些版本是向后兼容的,但除了给定的 .net 框架版本之外,我不想依赖任何版本)。我也知道有一些方法可以将 .net 框架升级打包到所需版本。但有人担心,如果您扩大集群,所需的 .net 框架将不会成为新节点的一部分。

我们希望针对特定的 .net 框架(例如 4.6.2 或 4.7 等)并升级我们的代码以编译到此版本的 .net 框架。

我的问题是:

  1. 我们应该如何部署初始集群,以便在所有节点上部署给定的 .net 框架版本(例如 4.6.2)?
  2. 当我们使用额外的节点扩展集群时,我们应该采取哪些步骤以便使用上一步中选择的版本部署所有节点?
  3. 假设集群已经运行了一段时间,我们如何才能顺利升级到下一个 .net 框架版本(比如 4.7)而不会在升级或扩展过程中出现任何问题(假设我们将代码编译到 .net 框架 4.7 并重新部署)?

我们正在寻找开发和运营团队成员都需要遵循的可重复流程(以避免生产问题)。换句话说,我们正在寻找该领域的最佳实践。

欢迎提供任何其他信息。

【问题讨论】:

  • 出于兴趣而使用 > 4.5.1 的原因是什么?
  • 利用每个版本的新特性,不用担心编译器是否向后兼容等。
  • 明白。我不知道如何使用规模集,但我个人的偏好是继续使用受支持的 .NET 框架。无论如何,更改这将显着增加部署/升级时间。
  • "为什么 >4.5.1" 因为现在是 2017 年; 4.5.1 是 2013 年;因为 4.5.1 已经一年多不支持了!因为安全和性能更新; 4.6 有一些有用的东西,比如 Task.Completed;柳吉特;更好的 GC... 我需要继续吗?
  • 有微软的吗?

标签: azure azure-devops devops azure-service-fabric


【解决方案1】:

问:我们应该如何部署初始集群,以便在所有节点上部署给定的 .net 框架版本(例如 4.6.2)?

答:请查看 PowerShell Desired State Configuration (DSC)。您可以使用 DSC 脚本来确保安装特定版本的 .Net http://code.commongroove.com/2016/08/09/powershell-dsc-script-resource-dot-net-4-6-2/

问:当我们用额外的节点扩展集群时,我们应该采取哪些步骤,以便使用上一步中选择的版本部署所有节点?

A:与上一个类似,为您的节点配置维护一个 DSC 脚本,当您添加新节点时运行 DSC 以确保您的机器被配置为其他节点。

问:假设集群已经运行了一段时间,我们如何才能顺利升级到下一个 .net 框架版本(比如 4.7)在升级或扩展期间没有任何问题(假设我们将代码编译到 .net 框架 4.7 和重新部署)?

答:这将取决于您的应用程序,但我将使用两阶段方法。基本上,您将集群一分为二。一个活跃和处理流量。升级非活动,引导流量,然后升级另一个。

希望有帮助

【讨论】:

    猜你喜欢
    • 2016-02-24
    • 1970-01-01
    • 2016-11-06
    • 2018-04-13
    • 1970-01-01
    • 2015-09-17
    • 2019-11-30
    • 2020-07-07
    • 2016-10-01
    相关资源
    最近更新 更多