问题标签 [load-balancing]

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.

0 投票
1 回答
1617 浏览

iis - 使用 IIS 对 Tomcat 服务器进行负载平衡

有没有人有使用 IIS 和基于基本网络的循环连接负载平衡 tomcat 服务器(在单独的物理机上)的经验?如果是这样,您可以提供的任何指针将不胜感激。

0 投票
3 回答
2802 浏览

erlang - 使用 Erlang,我应该如何在集群之间分配负载?

我正在查看从/池模块,它似乎与我想要的相似,但我的应用程序中似乎也存在单点故障(如果主节点出现故障)。

客户端有一个接受连接的网关列表(为了回退 - 都做同样的事情),客户端随机选择一个。当客户端连接时,检查所有节点以查看负载最小的节点,然后将负载最小的服务器的 IP 转发回客户端。然后客户端连接到这个服务器,一切都在那里执行。

总之,我希望所有节点都充当网关并实际处理客户端请求。负载平衡仅在客户端最初连接时完成 - 所有实际数据包并在客户端的“主”节点上处理。

我该怎么做?

0 投票
4 回答
142 浏览

proxy - 将 DNS 保存在一处。有哪些可能性?

我为一些客户托管了几个网站。所以基本上他们所做的就是将他们的 A 记录更改为我的服务器的 IP,一切正常。

现在我想升级我的服务器,当然我的客户必须更改他们的 A 记录。

所以我未来想要的是保持我在选择服务器时的灵活性,而不必因为更改他们的 A 记录而惹恼我的客户。

基本上,好的服务是可靠的,让我可以将 A 记录重定向到新服务器。我还想过使用第二台服务器作为负载平衡器。

任何人都对这些解决方案有很好的经验,甚至有其他想法?

0 投票
2 回答
1287 浏览

architecture - 架构模式 Pub/Sub 扩展和灾难恢复

我们将有一个源系统通过符合 JMS 的发布/订阅基础设施广播消息。对于大多数发布的消息,订阅者将是使用消息中的数据更新屏幕的 GUI 应用程序。

然而,其中一个订阅者将是翻译服务。对于发布的某些消息,翻译服务会将消息翻译成不同的格式,并将其发布到企业不同部分拥有的辅助消息传递基础架构上。

如何扩展我的翻译服务并在理想情况下提供主动-主动容错?一些注意事项:

  • 消息需要按顺序发布到辅助消息传递基础架构上。
  • 消息只能在辅助消息传递基础架构上发布一次。

基本上,我如何确保只有 1 个翻译服务订阅者响应消息?我是否需要切换到基于队列的系统(但我的 GUI 仍需要发布/订阅语义)?

请注意,翻译服务将押注托管在 Windows Server 2003 中的 .Net 3.5 应用程序。我们提供 F5 Network 的 BigIP LTM/GTM。

需要更多详细信息,请询问/评论。

提前致谢。

0 投票
2 回答
1586 浏览

ssl - 确定负载均衡器后面的 SSL 连接

在这里寻找最佳实践。我们在负载均衡器级别处理 SSL 连接,因此从负载均衡器到 Web 服务器的所有连接都是 http。这样我们就无法知道客户端与我们的 Web 服务器建立什么样的连接,因为所有连接都是通过 http 进行的。我们目前有两种解决方案,一种是让负载均衡器在 URL 字符串中附加一个端口号,以便我们可以确定请求的类型(例如,80 表示 http,443 表示 https)。另一种解决方案是负载均衡器在收到 https 请求时附加一个特殊的标头,以便 Web 服务器知道连接的类型。

您在这两种解决方案中都看到了缺点吗?是否有关于在负载均衡器级别而不是 Web 服务器级别应用 SSL 的最佳实践?

0 投票
4 回答
737 浏览

unix - 哪些选项可用于在负载平衡服务器之间同步密码?

我们有几台 UNIX 机器,当您 telnet 到某个机器时,您可以使用它们。passwd 文件不在共享挂载上(我不确定挂载它们有多安全)。最终结果是,如果您在一个框中更改密码,那么当您登录到第二个框时,它会告诉您您的密码无效。这对最终用户来说毫无意义,因为他们在两个实例中都输入了 telnet servername。有任何实用的经验、建议或指示来帮助解决这种情况吗?

环境包含

  • AIX 5.3、5.2、5.1、4.3
  • 惠普 11 11.11 11.23 11.23I
  • 周日 10
  • Linux

更新:

我正在考虑在除一个之外的所有盒子上禁用密码。然后 passwd 可以是对控制密码服务器的远程调用,或者明确地告诉用户去哪台机器以更改他们的密码。

更新:

IBM 产品看起来确实很有趣,有人谈论过 Centrify 吗?

想法?

0 投票
1 回答
863 浏览

sql - 如何在服务器场中使用 sql 会话状态模拟会话结束事件

使用 SQL 会话状态时,会话结束事件不可用。我们有一个使用此事件的现有应用程序,但我们需要将其切换到 SQL 会话状态,以便我们可以为应用程序设置服务器场。我们希望在负载均衡器上使用“粘性会话”,以便我们可以继续使用 inproc 会话状态,但无法使其正常工作。

有没有人遇到过类似的挑战或有任何想法?

谢谢。

0 投票
2 回答
694 浏览

sql-server - 为 SQL Server 集群准备数据库

我们计划在未来几个月内实施 sql server 2005 集群。我想知道作为数据库开发人员在尝试实现这一目标时需要采取哪些步骤/预防措施?我们是否需要更改任何 ado.net 代码(在前端)/存储的 procs 等?有什么最佳做法可以遵循吗?

我问这个问题的原因是:对于 asp.net 负载平衡,您必须确保会话/应用程序/缓存的代码都符合负载平衡环境。(因此,如果您使用的是 inproc 会话,则必须重写该代码以使其在负载平衡环境中工作)。现在这是在您的 Web 服务器级别。我只是想在尝试在数据库服务器级别扩展时做正确的事情

如果这个问题很愚蠢,我很抱歉。请原谅我对这个主题的有限知识:-)

0 投票
2 回答
1572 浏览

asp.net - 从共享驱动器托管的网站中特定于服务器的 web.config

背景信息:文件复制是蹩脚的

目前,我们有一个大规模、高流量的 ASP.NET Web 应用程序,负载平衡在 8 个不同的 IIS 服务器上。由于站点的性质,对 .aspx 文件和 .ascx 控件的微小更改会在一天中频繁发生,并且在经过测试并发布到现场后,会定期通过 xcopy 部署复制到每个公共网络服务器10分钟。

当然,这是非常低效的,因为每个服务器都必须有整个站点的冗余副本,我们希望消除 10 分钟的发布延迟。

可能的改进:从共享存储托管

我们现在可以选择使用带有 iSCSI 接口的集中式存储来集中托管整个站点,每个服务器都认为远程存储是本地驱动器。发布将是即时的和全系统的。

注意:无法将驱动器从 UNC 共享中托管,因为站点结构中有许多不同的目录,每个目录都需要用于 ASP.NET 的 FileSystemWatcher 来监视更改,因此很快就会达到 SMB 最大命令数。是的,我们知道 MaxCmds 和 MaxMpxCt 注册表设置。

问题:Web.config 更改触发大量重新编译

我们预见到的问题是文件系统结构的某些更改可能导致几乎每个已编译的 .aspx 或 .ascx 都必须重新编译,从而导致请求排队和服务器已关闭的感觉。大多数资源并未在系统范围内使用,因此在更改时重新编译它们几乎不会导致资源中断。站点上所有页面使用的全局母版页可能会导致此问题,但这可以通过代码轻松管理。

罪魁祸首是 web.config 文件。对 web.config 文件的更改会导致整个 Web 应用程序循环使用,并进行重新编译。因此,我们目前不复制 web.config 更改。任何 web.config 更改都需要将 Web 服务器从负载平衡器中移除,应用(和测试)更改,然后使用垃圾请求预热服务器,然后再将其放回负载平衡器上。

但是,如果 web.config 文件与 Web 应用程序目录结构的其余部分一样位于集中存储上,则该文件只有一份副本,并且无法再对各个服务器进行修补和预热。

问题

有没有办法让 ASP.NET Web 应用程序从名为 Web.config 的文件以外的源获取其行进命令?

理想情况下,每台服务器只有一个文件,例如:

  • 默认.aspx
  • 全球.asax
  • Web-ServerA.config
  • Web-ServerB.config
  • ...
  • Web-ServerN.config

无论如何,名称“web.config”在哪里定义?是否有可以在每台服务器上设置的注册表设置?是否可以在 machine.config 或全局 web.config 中创建一个条目来指定要使用的文件?

超出范围的事情

我很清楚,我不是在问如何为调试、测试和实时设置不同的 AppSettings。还有其他主题涵盖了这一点,而且我的所有 web.config 大部分时间都是相同的,唯一需要它们不同的时候是执行更新时。

我们没有将 web.config 用于任何 appSettings 信息;这是针对真正重要的东西,例如程序集引用、httpHandler 定义和其他无法数据库化的 system.web 设置。

更新

我尝试在注册表中搜索 Web.config,除了指出我最近编辑过 web.config 文件的应用程序之外,什么也没找到,我显然做了很多。那里没有帮助。

0 投票
2 回答
6395 浏览

.net - 跨负载平衡服务器的选择性缓存清除 (ASP.Net)

我们有一个在两台负载平衡服务器上运行的网站。我们使用 ASP.Net 缓存通过缓存高使用率数据来帮助提高性能。但是,有时数据会发生变化。当它发生时,我们需要清除负载平衡服务器上的相关缓存项。有没有人有一些易于实施的建议来说明如何做到这一点?

我知道有软件可以为您管理这个(Microsoft Velocity 为其中之一)。我也知道还有其他选项可以拥有单独的状态服务器等。但是,对于我们想要的,它们似乎都过大了。我们现在只需要一个简单的机制来清除跨服务器的特定缓存项。

感谢您的任何建议。