我开始阅读有关Azure存储的内容,看来访问它的唯一方法是通过HTTP REST请求。
我已经看到围绕这些请求有一些包装,例如,StorageClient(由Microsoft)和云存储API(http://cloudstorageapi.codeplex.com/),但他们仍然使用REST背景(据我所知)。
这对我来说似乎是不合理的。如果我在Azure中有一台机器,并且我想访问存储在Azure存储中的数据,那么它似乎效率低下
答案 0 :(得分:5)
是的,所有存储调用都规范化为REST API。当你考虑问题时,它实际上非常有效。您正在考虑Azure中的计算机和存储在机架中的两台服务器上的天蓝色数据。请记住,在Azure中,您的数据,“服务器”等可能存储在不同的机架,不同的区域甚至不同的数据中心。使用REST API,您的应用程序不必关心任何此类问题。他们只是通过URL获取数据。
因此,如果这两个盒子彼此相邻,那么微小的HTTP开销可能看起来效率低下,但当它们位于不同的大陆时,它实际上是一个非常优雅的解决方案。像CDN这样的概念因素,它变得更加合适。
分层到这个基本概念的是Azure负载均衡器和内部基础架构的其他部分,它们可以进一步优化每个请求,因为它们都是相同的(HTTP)。如果LB在数据中心内部发出请求时正在进行流量管理优化,我也不会感到惊讶(根本不确定,我不会为MSFT工作)。
答案 1 :(得分:0)
Windows Azure中存储子系统的吞吐量非常高。如果系统无法满足您的需求,我会感到非常惊讶。
还有许多设计模式可以提高应用的可扩展性,例如异步处理,批处理请求,延迟处理等。