交换后,Azure辅助角色无法启动

时间:2014-08-20 12:30:59

标签: azure azure-worker-roles

当我将项目部署到Azure临时区域时。我的工人开始并做了它想做的事。

但是在我按下交换后的那一刻,所以暂存区域被推到生产区域,我的workkerrole出现以下错误:

A transport-level error has occurred when receiving results from the server. (provider: Session Provider, error: 19 - Physical connection is not usable)

然后,在真正重新开始工作之前,工人将闲置几个小时。 如果我重新启动workerrole的实例,它将在重启后立即启动。

有没有人知道如何在不重启的情况下解决这个问题?

1 个答案:

答案 0 :(得分:1)

执行交换时,公共IP地址(VIP)将发生变化。这意味着传出TCP连接会将源IP更改为新VIP。如果您保持与Azure SQL DB之类的持久连接,那么外部资源(在这种情况下为SQL)可能会在看到新的源IP地址时终止连接。

解决方案是您应该已经实施的相同类型的最佳实践 - 重试连接。

如果不了解更多关于如何创建SQL连接的信息,很难更具体,但您可以搜索“sql azure retry connections”,您将看到很多指导。我会从http://social.technet.microsoft.com/wiki/contents/articles/4235.retry-logic-for-transient-failures-in-windows-azure-sql-database.aspxhttp://azure.microsoft.com/blog/2010/05/11/connections-and-sql-azure/开始。