问题标签 [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 投票
4 回答
355 浏览

performance - 维护视频网站性能

我正在建立一个在线视频播放网站(如Youtube)。我的技术挑战是提供大量点击并仍然保持性能。

我目前的解决方案是设置多个后端服务器,让每个服务器缓存一部分视频,这样可以节省从磁盘 I/O 读取视频文件的时间。

另一台前端服务器将哈希request video ID以找出视频驻留在哪个服务器上,然后要求客户端浏览器重定向到特定服务器。

我的解决方案很简单,我想知道其他人是否对我的解决方案有更好的想法或任何技术考虑?


请注意:我希望将站点设置为在本地工作(而不是依赖于像 Alakami 这样的提供商),因为内容是针对我学校的本地学生的。这基本上是一个“内部网”解决方案。

0 投票
3 回答
1582 浏览

linux - 软件负载平衡器是否管理双向 SSL 连接?如果是这样,怎么做?

我对软件或硬件负载平衡器的工作原理一无所知。我猜硬件负载均衡器基本上是一个开关,并基于某种算法决定为传入请求切换到哪个节点。在软件负​​载平衡器方面,我猜该软件会选择一个节点并使用反向代理连接到它。在这种情况下,2-way SSL 将无法工作,因为负载均衡器不能拥有客户端的私钥。

同样,我不知道软件负载均衡器是如何工作的,但由于我的应用程序需要负载均衡器并且应用程序使用 2 路 SSL 连接,我想知道软件负载均衡器如何处理 2 路 SSL联系。

0 投票
4 回答
624 浏览

web-services - 大量持久连接

我正在建立一个项目,主要问题之一是如何实现一个简单的消息队列系统(类似于信使聊天系统的东西)。我想避免轮询,但很可能会有很多并发连接(数万个)。这些将是 HTTP+SSL 连接,从应用程序而不是浏览器开始。

我发现的一个解决方案是 DNS 负载平衡:将这些持久连接分布在一堆 nginx 网络服务器上。

你怎么看?还有其他可能的解决方案吗?

0 投票
3 回答
15886 浏览

database - 将 postgres 服务器扩展到多个服务器

我们的 postgres 服务器即将达到其容量,我们正在考虑添加第二个数据库服务器。有没有特别适合 postgres 设置的扩展解决方案?

0 投票
2 回答
12665 浏览

sql-server - Windows 2008 和 SQL Server 2008 的最佳负载平衡配置

我有两台运行 Windows 2008 Web 版和 SQL 2008 标准版的服务器,如何对它们进行负载平衡?

我应该使用数据库镜像还是日志传送?由于我不是系统管理员,开发人员是否易于配置 Win2008 NLB?

我正在寻找的是能够让我的网站在单个服务器发生故障的情况下运行,并且能够在需求增长时轻松添加更多服务器。我的站点在 ASP.Net 3.5 中运行,并且所有站点都已将会话存储在 SQL Server 中。

0 投票
4 回答
2082 浏览

asp.net - Session_Start() 如何在服务器场中工作?

OnSessionStart / Session_Start 事件是否仍然仅在服务器场环境中触发一次(总共),或者由于请求由多个服务器处理,它是否可以在每个服务器上触发一次?

ASP.NET / IIS6 或 7

不应假定服务器正在使用粘性会话

0 投票
1 回答
2002 浏览

http - 为什么 haproxy 不能捕获我的 cookie?

我无法让前端 cookie 捕获在 haproxy 中工作。我的配置中有这个:

然后我使用 nc 直接与服务器对话并发送它:

我得到一个日志行,但是捕获的 cookie 应该在哪里有一个“-”。

0 投票
1 回答
587 浏览

language-agnostic - 如何让您的代码为负载平衡做好准备

正如我们过去所做的那样,我想为每个转向负载平衡的人收集有用的信息,因为您的代码必须注意一些问题

我们从一个 apache 服务器转移到 squid 作为反向代理/负载均衡器,后面有三个 apache 服务器。

我们使用的是 PHP/MySQL,所以问题可能会有所不同。

我们必须解决的问题:

会话

我们从“默认”php 会话(文件)转移到分布式 memcached-sessions。简单的解决方案,必须完成。这样,您也不需要负载均衡器上的“粘性会话”。

缓存

对于每个 Web 服务器的非分布式 apc-cache,我们添加了另一个用于分布式对象缓存的 memcached-layer,并用它替换了所有旧的/过时的文件缓存系统。

上传

上传到共享 (nfs) 文件夹。

我们为速度优化的事情:

静态文件

我们的主 NFS 运行一个 lighttpd,提供(也是用户上传的)图像。Squid 意识到了这一点,并且从不向我们的 apache 节点查询图像,这极大地提高了性能。Squid 还被配置为将这些文件缓存在 ram 中。

你做了什么来让你的代码/项目为负载平衡做好准备,考虑这一举措的人们是否有任何其他顾虑,以及你使用的是哪种平台/语言?

0 投票
13 回答
4330 浏览

iis - 负载平衡的 ASP.NET 站点的架构建议

更新 2009-05-21

我一直在测试使用单个网络共享的#2 方法。这会导致 Windows Server 2003 在负载下出现一些问题:

http://support.microsoft.com/kb/810886

结束更新

我收到了一份关于 ASP.NET 网站的提案,该网站的工作方式如下:

硬件负载平衡器 -> 4 个 IIS6 Web 服务器 -> 带有故障转移集群的 SQL Server DB

这就是问题所在...

我们正在选择存储 Web 文件(aspx、html、css、图像)的位置。提出了两种选择:

1) 在 4 台 IIS 服务器上分别创建相同的 Web 文件副本。

2) 将 Web 文件的单个副本放在 4 个 Web 服务器可访问的网络共享上。4 个 IIS 服务器上的 webroot 将映射到单个网络共享。

哪个是更好的解决方案?选项 2 显然对于部署更简单,因为它只需要将文件复制到一个位置。但是,我想知道是否会有可伸缩性问题,因为四个 Web 服务器都在访问一组文件。IIS 会在本地缓存这些文件吗?它会在每个客户端请求上命中网络共享吗?另外,访问网络共享总是比在本地硬盘上获取文件慢吗?如果添加更多 IIS 服务器,网络共享的负载是否会变得更糟?

举例来说,这是针对目前每月获得约 2000 万次点击的网站。在最近的高峰期,它每秒收到大约 200 次点击。

如果您对此类设置有特殊经验,请告诉我。感谢您的输入。

更新 2009-03-05

为了澄清我的情况 - 这个系统中的“部署”比典型的 Web 应用程序要频繁得多。该网站是后台 CMS 的前端。每次在 CMS 中发布内容时,都会自动将新页面(aspx、html 等)推送到实时站点。部署基本上是“按需”的。从理论上讲,这种推动可能在一分钟或更长时间内发生多次。因此,我不确定一次部署一台 Web 服务器是否可行。想法?

0 投票
2 回答
536 浏览

webserver - 网站分区和 URL 空间

我的网站正在增长。我需要将功能集分区到不同的服务器组,而不是让所有功能在单个服务器副本上运行。我在 Windows 网络负载平衡设置中有 8 台相同的服务器。

问题是:我需要保持 URL 空间相同。什么是可行的解决方案?我不想为功能集启动新域。我正在考虑某种具有基于 URL 的重写/路由功能的反向代理(?!?)。在软件或硬件方面有什么建议吗?这将取代 WNLB 设置,因为它没有我需要的功能。