背景
我是开发加速器平台的首席架构师,名为“球”。Ball旨在提供类似云的可伸缩性的授权处理,已经在Windows上使用web内容管理在生产中运行。它解决的问题是为后端(.NET)和前端web (jQuery,JSON)提供易于插件开发的全分布式规模体系结构。
该平台管理大规模的数据/内容。它的本地存储设计是键值blob存储,因此它的可伸缩性设计为to级。它支持在Azure中运行的实例(两端)之间的灵活通信。
我们现在正在插入用户--内容的可定义集成--从而解决问题。
Problem/Question
该架构已经使用了低级别的请求管理,并且已经插入到通过HTTP模块/处理程序实现来监视通信量/成本。然而,我没有找到任何明确的参考,如何确保和保证网络调用保持在数据中心--而且我知道Azure基础设施也同意流量在数据中心内。
目前的生产使用将导致即时千兆字节的每日数据流量(每个客户),我们需要从它发布的那一刻起就做到这一点。考虑到该体系结构的成本效益,如果按出站流量收费,它将成为目前最大的组件。
我不想在他们申请的地方取消费用。如果客户在AWS或Azure上在不同的数据中心上运行自己的Ball实例,那么无论发生什么,都会有出站流量组件。
解决方案的现状
Ball在网络级别有它的授权堆栈。虽然从技术上来说,内部流量可以在内部网络内控制,但这在逻辑上会使事情复杂化,我认为这应该通过出站网络接口层控制来解决。如果有很好的类似引用的答案(或者我们在这个链中组成一个),那么它应该适用于所有必须优化网络出站流量的分布式架构案例。
我发现的基于IP地址的数据中心特定通信量检测的当前解决方案,基于如下列表:http://msdn.microsoft.com/en-us/library/windowsazure/dn175718.aspx
虽然这类清单在技术上是可以使用的,但在最好的情况下,它是松散地结合在一起的信任,即“非因果成本”。
从技术上讲,球是用.NET 4.5和最新的Azure为.NET构建的。为了开发自动化,Powershell是在路线图上规划的,所以任何Azure管理级别的配置都可以应用于解决方案。
我附加了几个架构映像,以阐明在单个Ball中的体系结构设计以及作为分布式Ball实例的网络。


发布于 2014-02-13 13:43:33
我刚刚从我们的MSFT消息来源得到了回应,即截至今天(2014年2月13日),Azure平台没有提供所需的能力。
因此,回答如何作为“平台支持”获取这些信息是:不可能。
我可以认为,涉及基于IP地址的逻辑(不太可靠)或添加外部注册表的解决方案已经很少,可以手动检查/更新将在特定数据中心内调用的已知各方。虽然变通方法(希望)能够满足某些情况,但它们不适合“我们共享此数据公共,只要您在我们的数据中心”的解决方案。
我不会标记这是被接受的答案,因为它甚至不包括解决方案的规格。我过会儿再来填一下我们是怎么解决的。
https://stackoverflow.com/questions/21525444
复制相似问题