2011-10-13 56 views
1

任何人都可以告诉我当我们切换到生产环境时发生了什么?蔚蓝色的交错和生产环境的主要区别是什么,特别适合启动任务?

之所以问这个, 当我在临时环境检验一切工作正常。 但是,当我在web.config中执行更改以及在后台运行(启动任务)的exe文件的配置文件中,然后切换到生产时,它无法正常工作。

例如: 我有邮件设置,其中分期它是像 Mystaging.cloudapp.net 我改变MyLive.cloudapp.net,然后切换,当我收到邮件,是显示mystaging.cloudapp。净

基本上,我想知道,在web.config中和Bin目录发生什么事?????

+0

您的代码没有任何反应。这些是不同虚拟机上不同的部署。如果您在VIP交换中看到错误的设置,这是与VIP交换本身完全无关的另一个问题。有关更多详情,请参阅我的较大答案 – dunnry

+0

是的,完美的,这两个答案真的很有帮助。 –

回答

4

环境是除1个相同的事:它们具有不同的VIP地址(负载均衡器上暴露于外部的IP地址)。当您进行VIP交换时,负载平衡器会被重新编程以在分段和生产部署之间切换VIP - 就是这样。任何DNS都没有改变。

还有一些细微之处。例如,现有的连接不是(应该)被切断。所以,如果你有一个长时间运行的开放连接,它将在VIP交换期间继续。这可能会导致出现a)连接在swap和b之后触及“较旧”环境的情况),但这在某些情况下也会导致VIP交换操作本身持续一段时间(通常非常快)。

两个环境的初衷是为了让升级部署方便。您将在升级中启动另一个更新的部署,进行一些测试,然后切换。大多数用户永远不会注意到任何事情。但是,您可能不会使用此模式的原因如下:

  1. 如果更改外部端点(例如,在分段中添加端口443),则不能使用此模式。在这种情况下,您必须删除/新部署 - 记住负载平衡器正在重新编程,因此端点必须匹配。谁知道这种限制可能会在未来消失。
  2. 如果您有很长时间的运行状态服务。 VIP交换显然会将整个部署转移到生产。如果您需要与某个客户端前端沟通,需要一小时的工作角色,那么您可能会遇到问题。
  3. 版本控制。想象一下,如果您在与生产相同/相似的数据工作的分期中创建了另一个环境。现在,当您准备开关时,您需要连接您的连接线,以便环境可以“生产就绪”。当你这样做时,你将有两个不同的部署开始处理相同的数据。例如,当使用相同的队列时,这变得非常明显。分级中的工作角色在前端更改之前开始处理生产消息,以更新消息格式或其他不兼容性。随着新部署开始处理旧数据和错误等问题,您将收到版本控制问题。这不是无法克服的,只是你需要考虑的一个问题。
  4. 如果您有非常大的部署。想象一下,如果你有几百个实例。在这种情况下很难做一次VIP交换,因为a)需要很长时间才能在舞台上旋转很多东西,b)由于您运行的是两倍实例,因此花费过高,以及c。)您可能不会能够做到这一点是因为您的订阅配额限制。您的配额必须至少是运行实例的2倍。当您查看数千个实例时,这是不切实际的。然而,对于凡人来说,配额可以帮助你。
4

当您切换的只有一两件事发生了 - 在其上部署接受传入的HTTP请求的URL改变。没有别的 - 没有重新启动,没有配置更改,什么都没有。这只是一个请求路由更改。

生产和分期部署是无法区分的(除非你确实努力) - 它们的存在,这样当你需要升级你不把你的服务了。您可以创建登台部署,运行基本检查,然后在登台和生产之间切换 - 服务正在运行并且始终接受请求。这是暂存部署的唯一真正目的。他们不是为了测试,而是为了无缝更新您的服务。

+0

+1,说得好,但无缝有点强;因为通常有一些DNS魔术不会发生,所有我以前的访问者都必须等待一个小时才能重新开始工作。 :ö – Gleno

+0

嘿,看来你的回答是真实的,我也假设。 –

+0

但是,我只是发现我的配置设置已更改,所以让我测试一个小答案b4标记此答案。 –

相关问题