c# - 负载平衡控制台应用程序或服务

标签 c# .net load-balancing nservicebus

因此很容易对 ASP.NET Web 应用程序进行负载平衡。您在两台服务器之间设置了一个负载平衡器,如果 Web 服务器在端口 80 上没有响应,它就不会接收请求。

对于 C# 控制台应用程序或自行执行操作的 Windows 服务,是否有任何经过验证的技术可以执行此操作?是否有任何框架可以了解对等进程是活的还是死的、进行心跳等?

我一直在尝试使用 NServiceBus看起来,对于某些类型的应用程序,将大部分工作作为对事件的响应来完成会有所帮助,这实际上使它更像一个 Web 应用程序,因此更容易扩展和负载均衡多个进程,但我觉得这是一个半生不熟的解决方案,因为在大多数情况下,通常需要一些负责启动工作的“主”进程的概念。

最佳答案

NServiceBus 确实通过其 Distributor 进程(此处描述:http://docs.particular.net/nservicebus/scalability-and-ha/distributor/)为您处理此问题。 NServiceBus 附带的通用主机允许您将完全相同的代码和配置作为控制台应用程序和 Windows 服务运行(此处描述:http://docs.particular.net/nservicebus/hosting/nservicebus-host/)。

您可以将其用于事件以及常规命令消息。

如果您想要一个“主”进程来决定在所有负载平衡工作完成时做什么,它以 saga 基础设施的形式提供给您(此处描述:http://docs.particular.net/nservicebus/sagas/ 并在 Manufacturing 示例中演示) NServiceBus 自带的)。

简而言之,您应该已经了解了很多内容。

关于c# - 负载平衡控制台应用程序或服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2538172/

相关文章:

c# - 如何导出 Windows 系统和应用程序事件日志?

apache - 相同的域 - 2 个独立的服务器

networking - 如何将特定客户端(浏览器)动态分配给众多服务器之一?

Spring Redirect 命令重定向到 Load Balancer 下的 Localhost

c# - 如何实时跟踪 Twitter feed?

c# - 在 VB.NET 中使用非整数增量进行循环

c# - 通过 WMI 问题从 ASP.NET 重新启动应用程序池

c#audiostream监听

c# - 这个 AppendFormat 有什么值(value)吗?

c# - 如何使用通用约束进行这种棘手的向下转换?