【发布时间】:2011-02-16 15:47:48
【问题描述】:
我想知道是否应该为每个实例使用一个进程,或者是否应该使用AppDomains 在单个进程中运行多个实例。
我有一个服务器应用程序,其设计类似于 telnet。用户始终通过 TCP 连接,服务器保持客户端会话的完整状态,并呈现在工作站上。
该软件需要支持至少 500 个并发连接,可能更多。一个典型的安装将需要 3 到 7 个应用程序实例连续运行,尽管除了一个实例之外的所有实例都只有几个连接(它们用于测试、参考环境等)。在内部,出于开发目的,最多有 40 个环境,每个环境最多有 20 个并发连接。我的目标主机环境将是 64 位 Windows。
我知道 IIS 使用的模型只有一个进程和多个 AppDomains,但我也看到了每个实例拥有一个进程的优势。
我应该使用哪个以及为什么?
编辑:
不同的实例涉及同一应用程序的不同版本,它们不能在单个AppDomain 中一起运行。此外,不同的实例不必相互通信,只需与一个主服务进行管理即可。
【问题讨论】:
-
有趣——为什么必须同时运行多个版本的应用程序?
-
是不是我在问题中说的,有参考环境有数据库的副本,更新的版本和需要客户测试的更新等等。