asp.net – 发布管理 – 发布给用户的一小部分 – 它对于面向公众的网站将如何工作

我读了某个地方(抱歉不记得来源),Facebook已经发布了星期二。他们首先向内部员工发布新功能,然后发布给一小部分外部用户,然后再传播给全世界。我相信谷歌也做了类似的事情

我主要与Microsoft堆栈(TFS源代码控制,IIS,asp.net,sql服务器与巨大的数据)。当然,面对公众的网站,所以他们必须要24x7x365。虽然我可以设想仅在其中一个服务器(在webfarm中)发布我的api / dll并进行测试,但如果有DB(存储过程签名,表模式更改),我该怎么办?目前我们正在版本化SP(新的将是mySPNameV2,其中旧的将是mySPNameV1 – 两个都采用不同的参数集,因此重命名),新的API将使用SP-V2,因为旧的API将继续使用SP -V1。

我看到一些设计气味,但有更好的方法吗?

编辑:我们将新代码发布到只有一个服务器并进行测试,难点是抽象(可能是抽象的不是正确的词,但是你可以得到想法)数据库模式从应用程序的多个并发版本更改

解决方法

如果我正确理解你,你想要的是有两个机制使用相同的实时数据,但是不同的API版本。现在,假设你已经在使用双缓冲机制了,我想你的实际问题是在转换期间使用活动表。

解决方案适用于您的表格,包括V1和V2列(例如,一个用户表,其中将包括两个API的字段)。注意:所有非常见字段必须具有认值。

为了使其无缝工作,您应该为V1和V2创建视图,仅显示每个API版本的相关字段,您应该开发视图而不是表(类似于开发接口而不是实现的概念)。

存储过程也是如此 – 所有非常见参数都必须具有认值等等

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...