问题标签 [web-farm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 在不使用 Session 的情况下创建可扩展的 ASP.Net MVC 网站
我正在使用 Asp.Net MVC 开发一个 Web 项目,我必须将其部署到农场环境。
我已经阅读了很多文章,并且正在考虑完全禁用 SessionState,我认为这将使应用程序更加健壮,并且会为我省去一些麻烦(我读过的所有内容都告诉我,在农场不是微不足道的)。
不过,对于这种方法,有些事情我仍然不完全清楚,主要是身份验证/授权过程。基本上,如果服务器上没有启用 SessionState,我不确定如何(如果?)处理用户会话。如果用户登录网站然后尝试访问另一个页面,我怎么知道该用户已经登录?我知道使用 cookie 是不安全的,我想到了将 cookie 与存储在数据库中的会话 ID 混合在一起,但我想如果我禁用 SessionState 我也无法访问会话 ID。
对此最好的方法是什么?有没有推荐的书/文章你可以指点我,这样我就可以清楚了吗?
非常感谢你的帮助
asp.net-mvc - 在网络场上存储上传的图像
我在 mvc.net 应用程序上工作。客户将在集群环境中移动生产。问题是我将图像存储在本地文件系统中。图像可以由用户通过网站界面动态上传。如何更改应用程序以使图像保持工作状态?
可能的解决方案是为所有服务器使用共享文件夹,但在这种情况下,我认为我必须开发 HttpHandler 它将从该文件夹返回图像。所以,它会影响性能。
asp.net - 在镜像上使用 ASP.NET App 缓存的潜在问题?
我有 2 台带有负载平衡器的服务器镜像。我想知道坚持使用应用程序缓存与使用 memcache 之类的东西的优缺点?我对各种解决方案非常感兴趣,尤其是通过不同步它们可能会遇到的错误类型或限制。
为了开始讨论,我敢说使用 ASP.NET 缓存会更快更简单。
asp.net - 将 machineKey 添加到 web-farm 站点上的 web.config
我们(实际上是我们的 IT 合作伙伴)最近为我们拥有的一个网络农场站点更改了一些 DNS,以便两个生产服务器在它们之间进行循环 DNS 切换。在此切换之前,我们并没有真正遇到WebResource.axd
文件问题。自从切换后,当我们点击实时公共 URL 时,我们得到一个错误:
加密异常
填充无效且无法移除。
当我们自己访问特定服务器时,它们加载正常。我已经研究过这个问题,似乎因为他们在两台服务器之间共享资产,我们需要machineKey
在web.config
每台服务器上保持一致,以便他们可以在两者之间一致地加密和解密。我的问题是:
- 我可以
machineKey
通过服务器上的工具生成一个,还是需要编写代码来执行此操作? - 我只需要在每台服务器上添加
machineKey
还是web.config
您认为我需要做任何其他事情才能使两台服务器一起工作?(两者web.config
目前都没有machineKey
)
asp.net - Web Farm Framework:如何访问应用程序?
我已经在带有控制器机器、主服务器和辅助服务器的 UAT 环境中安装并设置了新的 Microsoft Web Farm Framework。我已经在主服务器上安装了我们的一个内部应用程序,并且它已成功配置到辅助服务器。
我的问题是,我该如何访问该应用程序?通常,我会像 http:\machinename\applicationname\ 一样访问它,其中 machinename 是托管它的服务器的名称,但如果我这样做,那么我将直接寻址主服务器。我不会绕过服务器场吗?
我尝试通过以下 url http:\mis-uat-002\testfarm/reviewer 访问服务器,其中 mis-uat-002 是农场控制器的名称,testfarm 是农场的名称,reviewer 是应用程序。使用此 URL 时,我收到“502 - Web 服务器在充当网关或代理服务器时收到无效响应”。错误。
如果我直接通过 http:\mis-uat-003\reviewer 访问应用程序(mis-uat-003 是主要场服务器,reviewer 是应用程序),那么它没有问题。
是否需要进行一些额外的设置才能让农场控制器完成其工作?
应该注意的是,这是一个 UAT 环境,因此不在任何类型的域中。但是,如果这很成功并且 WFF 很快就推出了 V1.0,我们将希望在 Windows 域上运行它。
asp.net - Web-farm 的共享 SQLServer 会话状态的登录问题
根据我昨天发布的一个问题,我们网站的 DNS 结构已更改为循环 DNS,它实际上在两个生产服务器之间来回交换。我们web.config
的两个产品服务器都有:
<sessionState mode="SQLServer" ... >
指向同一个共享数据库- 每台服务器上的 A
machineKey
在两者之间是一致的(这是我昨天帖子的重点)。 - [更新
<forms domain=".mydomain.com" ... >
]标签中的同一个域
当我们在网站上使用登录功能时,登录实际上向第三个网站发出 Web 服务请求,该网站对用户进行身份验证。如果结果响应说它是成功登录,那么我们使用FormsAuthentication
登录用户:
我们的问题是,在某些页面上我们看到我们已登录,而在其他页面上我们没有。这是否表明我们没有完成在两个产品服务器之间共享会话的最后一步,或者我们的 SQL 服务器会话数据库是否被破坏?
提前致谢
更新:我们确定用户是否登录的代码非常基本:
更新 2:
当我点击 prod1.mysite.com(或 prod2.mysite.com)时,我得到了一个 cookie,"ASP.NET_SessionId"
但是当我点击实时公共 URL www.mysite.com 时,我没有得到这个 cookie。这是问题的一部分吗?
解决方案:
事实证明,我们在这里所做的一切都是正确的,而且由于 Akamai 的缓存配置,我们使用 Akamai 的实时站点正在以各种状态缓存。在服务器之间共享您的登录状态已被确认有效。
asp.net - Web 场和负载平衡环境中的 WCF 服务配置
我想为 web-farm(用于网站)和 NLB 负载平衡(用于服务)使用 WCF Service[NetTcp](均在 c# 中)配置 ASP.NET 网站项目。我想为相同配置以下选项。
NetTcpBinding.maxConcurrentCalls、NetTcpBinding.ListenBacklog 和 NetTcpBinding.MaxConnections
注意:在单机配置过程中,我将 WCF 服务项目中的 NetTcpBinding.ListenBacklog 和 NetTcpBinding.MaxConnections 的值更改为超过 10,这是默认值。我有例外。当我在网站中更改此值时,它工作正常。因此,我必须保持默认配置。不知道为什么会这样。如果有人可以解释这一点,那将很有帮助。
以下参考提供了如何在给定环境中配置的想法,但没有说明如何进行。
参考:http: //msdn.microsoft.com/en-us/library/ee377061%28BTS.10%29.aspx
更新:
让我简化一下。可以说我有以下配置。
- Web Farm 中的 2 台 IIS 服务器。
- NLB 中的 3 个 WCF 服务服务器 (NetTcp)
- 默认配置。对于单个实例。
- NetTcpBinding.ListenBacklog:10
- NetTcpBinding.MaxConnections:10
- NetTcpBinding.maxConcurrentCalls:16
现在我在这个环境中的配置设置是什么。是和上面一样还是如下。
- 建议配置。对于单个 WebFarm/NLB
- NetTcpBinding.ListenBacklog:30 (10*3)
- NetTcpBinding.MaxConnections: 30 (10*3)
- NetTcpBinding.maxConcurrentCalls:48 (16*3)
load - 我需要关于如何在 ASP.net 4.0 Web 服务器上进行负载平衡的完整教程
我想在我的服务器上进行负载平衡。我目前的配置:
- Web 应用程序是网络 4.0
在 1 vps 上运行
sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="60"/>
asp.net - Web Farm 应用程序部署最佳实践
我们有一个托管多个 ASP.Net 应用程序的网络场。我们通常在场上有 4 台服务器。
我面临的困境是农场的产能问题。假设我目前总共有 200 个应用程序。我应该在所有 4 台服务器上部署所有 200 个应用程序(即场中的所有服务器都是相同的)还是应该将应用程序拆分为 2 组服务器并创建 2 个较小的场,以便我可以根据应用程序的重要性和用法等
sharepoint - 带有 WSS 的 64 位机器(不是 MOSS)
是否可以构建一个 64 位机器并安装免费的 WSS,然后将其附加到 32 位农场(同时安装了 WSS 和 MOSS)?
如果是的话,有人可以给我指出正确的文章或列出完成这项任务需要完成的所有事情。
谢谢 JAF