我正在研究Windows Azure上用于高规模Web性能应用程序(此时是理论上的)的架构,并且想要了解"Windows Azure队列(不是SB)"以及如何最好地扩展/创建它们.
我基本上看的是MVC前端(Web角色),Windows Azure队列(异步消息解耦),工作者角色和黑化的SQL DB.
我的理解是,我们在Web角色上收到一条消息,然后将其传递给队列,工作者角色将轮询队列{do work ...例如SQL DB CRUD操作}并发回完成消息.
处理Windows Azure队列创建以进行扩展以及通过Web角色和工作者角色来回传递消息的最佳方法是什么?是否最好有一个队列用于发送工作,例如订单,然后是另一个队列用于通知,例如状态消息
我看过很多帖子说你应该在你的应用程序代码之外创建你的队列,这是有意义的,但你如何使用当前的队列限制扩展它"单个Windows Azure队列的可伸缩性目标"受限于"500个事务/秒"?
MSDN有一些关于通过队列进行扩展的很好的资源.
•角色实例扩展是指添加和删除其他Web或辅助角色实例以处理时间点工作负载.这通常包括更改服务配置中的实例计数.增加实例计数将导致Windows Azure运行时启动新实例,而减少实例计数将导致其关闭正在运行的实例.
•进程(线程)扩展是指通过根据当前工作负载上下调整线程数来维持给定角色实例中处理线程的足够容量.
总之,我正在寻找以下问题的答案:
如上所述,我的问题在这个时刻更具理论性,我希望建筑师和未来证明任何解决方案.
谢谢