在.NET中进行简单分布式通信的最简单方法是什么?

时间:2012-06-18 18:06:22

标签: c# sql-server msmq

所以基本上我正在考虑在我的asp.net应用程序上尝试使用各种功能同时进行负载测试。在这个应用程序中执行了很多依赖项和ajax请求,所以看起来像捕获的http请求的简单重放是不够的,并且由于其他功能,例如挑选随机操作,执行然后在多台机器上验证结果,简单的负载测试软件是不够的。

此项目的支出也没有预算,因此无法使用商业实施。我正在讨论尝试使用MSMQ(之前从未使用过)来处理客户端之间的通信,但如果设置起来真的很复杂,那么我要么将数据库表用作队列,要么将每个测试机器用作简单的TCP服务器它的客户。

我想要的功能是:立即失败(一个客户端崩溃,然后所有客户端应该停止),每个测试运行应该从没有先前消息的全新场景开始,并且能够发布启动和停止事件。如果我不必担心状态管理(倾向于通过数据库的TCP服务器)或并发性,那也很好。

1 个答案:

答案 0 :(得分:1)

听起来不像MSMQ是你需要的。它是一种消息传递异步通信方法,类似于电子邮件。您可以将消息发送到另一个甚至没有人正在侦听的队列(即应用程序未运行)。在我看来,你想要一个更“在线”的沟通模式。

如何创建代理(在许多机器上创建负载的客户端应用程序),公开WCF服务,控制器程序可以连接到所有代理并指示代理执行什么操作?它可以是双工合同,以便代理可以向控制器发送通知。当其中一个发送错误通知时,控制器可以指示所有其他代理关闭。我也会选择Net.TCP绑定而不是HTTP绑定。

相关问题