azure-service-fabric - 暂存槽和 VIP 交换

标签 azure-service-fabric

来自经典的云服务模型,经过五年的使用,我们已经非常习惯了 staging slot 的概念和 vip-swap 功能。是的,这个升级模型有很多缺点,但也有很多好处。

显然 SF 并没有公开这个模型。所以我想知道它只是不是云服务中的流行模型,还是 6 年后它真的没有意义?

这是否是那些范式变化之一,我只需要重新思考我们如何部署,并推进新规定的模型(滚动升级)?或者是否有已知的技术来设置诸如 SF 的暂存槽之类的东西?

寻求建议...

最佳答案

VIP 交换对于有状态计算没有意义,而 Service Fabric 在很大程度上是一个有状态计算平台(即使您只使用无状态服务,系统服务本身也是有状态的)。如果您的服务中包含您的数据,那么如果您想保留数据并保持一致,则必须进行滚动升级。

所以,是的,这是一种范式的改变,但却是一个好的改变。它鼓励持续交付和频繁升级,因为升级直接集成到平台中,并且不需要您支付任何额外费用。您无需为临时虚拟机付费,这对于大型部署而言可能会变得昂贵,甚至可能会阻碍持续交付。

现在,您可以对无状态服务执行类似于暂存部署的操作。在 Service Fabric 中,您的“部署”是应用程序,而不是 VM。因此,您可以与先前应用程序版本的实例并排创建新应用程序版本的实例,并根据需要路由流量,无论是逐渐将用户移至新版本的实例,还是只是切换开关并将所有流量一次性发送到新版本。这当然不适用于有状态服务,因为您的所有数据仍然在以前版本的应用程序实例中。

关于azure-service-fabric - 暂存槽和 VIP 交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37736877/

相关文章:

c# - 如何使用 tfs 2013 与服务结构进行持续集成?

c# - 同一节点上动态创建的服务的 Service Fabric 进程隔离

.net - 使用Azure Service Fabric的默认客户端时如何向请求添加消息头?

azure - Service Fabric 反向代理不工作

ssl - 无法探索我的 Azure Service Fabric 集群

c# - 如何在 Azure Service Fabric 应用程序中注入(inject) IHttpClientFactory?

asp.net - 使用 Azure AD 身份验证进行自定义授权

azure-service-fabric - 通过 RDP 远程进入 SF 节点

c# - 运行时获取服务版本

asp.net-web-api - 在 Azure Service Fabric (API) 中将消息从一个微服务发送到另一个微服务