我目前正在设计一个应用程序,最终我希望将其移至Windows Azure。然而,在短期内,它将在我自己托管的服务器上运行。
该应用程序涉及多个独立的Web应用程序-其中一些本质上是接收数据的WCF服务,而另一些则是用户管理数据的网站。此外,还需要在后台运行一个工作程序,以各种方式处理数据。
我非常希望使用解耦架构来实现这一点。理想情况下,我希望组件(即Web应用程序和工作程序)尽可能少地了解彼此。使用消息队列似乎是最佳解决方案-Web应用程序可以将带有工作单元的消息排入队列中,而工作程序可以根据需要选择并处理它们。
但是,我想找出一组良好的技术来做到这一点,考虑到我最终将移动到Azure,并希望在迁移到云时尽量减少需要重新工作的量。Azure具有内置的队列组件,看起来非常适合我的需求。我想做的是创建一个尽可能类似于此的东西。
看起来有几个选项(我在Windows上使用.NET,并拥有SQL Server 2005后端)-我迄今为止发现的选项是:
MSMQ SQL Server服务代理程序 使用数据库表和一些存储过程滚动自己的
我想知道是否有人对此有任何建议-或者是否有人做过类似的事情,并提供关于要做/避免的事情的建议。我意识到每种情况都是不同的,但在这种情况下,我认为我的排队要求非常通用,因此我很乐意听取任何其他人对如何做到最好的想法。
提前致谢,
约翰
该应用程序涉及多个独立的Web应用程序-其中一些本质上是接收数据的WCF服务,而另一些则是用户管理数据的网站。此外,还需要在后台运行一个工作程序,以各种方式处理数据。
我非常希望使用解耦架构来实现这一点。理想情况下,我希望组件(即Web应用程序和工作程序)尽可能少地了解彼此。使用消息队列似乎是最佳解决方案-Web应用程序可以将带有工作单元的消息排入队列中,而工作程序可以根据需要选择并处理它们。
但是,我想找出一组良好的技术来做到这一点,考虑到我最终将移动到Azure,并希望在迁移到云时尽量减少需要重新工作的量。Azure具有内置的队列组件,看起来非常适合我的需求。我想做的是创建一个尽可能类似于此的东西。
看起来有几个选项(我在Windows上使用.NET,并拥有SQL Server 2005后端)-我迄今为止发现的选项是:
MSMQ SQL Server服务代理程序 使用数据库表和一些存储过程滚动自己的
我想知道是否有人对此有任何建议-或者是否有人做过类似的事情,并提供关于要做/避免的事情的建议。我意识到每种情况都是不同的,但在这种情况下,我认为我的排队要求非常通用,因此我很乐意听取任何其他人对如何做到最好的想法。
提前致谢,
约翰