如何在没有Azure的情况下将Azure应用程序部署到生产中

时间:2011-01-25 00:54:18

标签: azure queue production-environment

我正在使用队列,blob存储和SQL Azure开发Azure应用程序。我们预计一些客户将不愿意将他们的数据托管在云中(出于偏执或对可以存储数据的管辖区域的法律限制的原因)并且希望在位于他们自己的数据内的服务器上运行系统中心,在一台服务器上。使用SQL Server并构建blob存储的替代方案应该很容易,但Azure队列更复杂。我想使用开发结构是不可取的,因为MS文档说它必须以管理员身份运行。

我应该怎么做?

2 个答案:

答案 0 :(得分:8)

我会在AzureQueues上添加一层抽象。

类似的东西:

public interface IQueueService
{
    // will create if not exists
    IQueue GetQueue(string name);
    IQueue GetQueueIfExists(string name);
}


public interface IQueue
{
    string Name { get; set; }

    void AddMessage(SimpleMessage message);
    void DeleteMessage(SimpleMessage message);
    SimpleMessage PeekMessage();

    void Clear();
}

等...

这应该会给你一个想法。然后,您可以提供两个实现,一个使用AzureQueues,另一个使用MS Queues(http://en.wikipedia.org/wiki/Microsoft_Message_Queuing)

您可以根据您是否在Azure上运行来选择实施。

我过去做过非常相似的事情。

答案 1 :(得分:1)

您无需在开发人员结构上运行即可访问azure资源。 Blob很容易通过网络访问,我相当肯定你可以使用表格和队列以及“http://'accountname'.queue.core.windows.net/”网址公开提供。

对于一个简洁的解决方案,您应该查看Azure AppFabric服务总线,它基本上允许您将内部应用程序Web服务端点连接或“投影”到云中,它基本上是一个中继服务。 (这听起来很神奇,但实际上非常简单)。您可以使用相同的Service Bus为Azure Worker角色服务提供公共Url端点。

http://msdn.microsoft.com/en-us/library/ee732537.aspx

http://www.microsoft.com/windowsazure/appfabric/overview/default.aspx