我有一个通过SOAP接口返回数据的IIS应用程序。所有电话都是原子的。由于与后端通信的问题,此IIS应用程序不是线程安全的。一次发出多个电话会导致不稳定。 IIS应用程序IS STABLE在单独的应用程序池中运行多个实例(我测试了100个应用程序)。我已配置此IIS应用程序的多个实例,然后使用负载平衡策略(在客户端内)调用服务。每次只有一个呼叫通过每个服务。我有网址:
app1-100是在不同池下运行的相同副本。
我想将主网址配置为:
我将如何配置此功能?它甚至可能吗?
答案 0 :(得分:0)
您可以尝试在IIS中设置Web Garden,这将为同一站点创建多个工作进程。要记住的问题是,如果您的应用程序保持会话状态,则不会将其存储在进程中而不将其存储在共享持久性存储(例如Redis)中。
要设置Web园,请编辑网站应用程序池的属性,并将Maximum Workers Processes设置为大于1的数字。
IIS将在工作进程之间循环请求。
<强>更新强>
以上实际上并不是一次强制执行一个请求。要强制执行并发请求限制,您需要调整网站的高级设置。 *右键单击网站节点 *管理网站 * 高级设置 *更改最大并发连接数
如果将此值设置为1,则无论您运行的应用池数量是多少,它一次只能处理一个。您可以尝试将此设置为2并具有2个工作进程,因为IIS应将第二个进程发送到第二个进程,但不保证每个应用程序池的序列化。要一次只有一个将Max Worker Processes设置为1,将Max Concurrent Connections设置为1