【问题标题】:What is the simplest way to do simple distributed communication in .NET?在 .NET 中进行简单分布式通信的最简单方法是什么?
【发布时间】:2012-06-20 18:09:59
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# sql-server msmq


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-04-20
      • 2010-12-20
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      • 2018-05-31
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多