问题标签 [horizontal-scaling]

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 回答
103 浏览

amazon-web-services - 试图了解 AWS 扩展是如何工作的

缩放有一件事我还不明白。假设一个简单的场景 ELB -> EC2 前端 -> EC2 后端

在此处输入图像描述

当有高流量时,会创建新的前端实例,但是,如何建立与后端的连接?

后端应用程序如何跟踪它从哪个 EC2 接收,以便它可以响应正确的最终用户?

此外,如果从自动创建的实例之一建立连接,然后流量再次变低并且实例被删除,会发生什么情况......与最终用户的连接丢失了?

FWIW,服务器之间的连接是通过 WebSocket 的。

0 投票
1 回答
233 浏览

ibm-cloud - 在 bluemix 中缩放

cf scale myApp –i 5用于水平缩放, cf scale myApp -k 512M用于垂直缩放。

当我们使用上面的水平和垂直缩放命令时会发生什么?他们是通过添加 5 来增加实例数量,并通过添加 512M 来增加磁盘大小,还是整体应用程序实例为 5,整体磁盘大小为 512M?

0 投票
2 回答
1555 浏览

java - SPRING BATCH:如何为在任务执行器中运行的多个作业配置远程分块

我是春季批处理的新手。我正在使用远程分块,其中有一个 master ,多个 slave 和 ActiveMQ 用于消息传递。

Master 有一个工作和一个工作启动器,并且工作启动器有一个任务执行器,它具有以下配置
<task:executor id="batchJobExecutor" pool-size="2"queue-capacity="100" />
块配置是

所以我们被允许一次运行两个作业,其余的作业将在队列中。
当提交两个作业时,Master 正在创建块并提交到队列,slave 正在处理。

但是从奴隶到主人的确认是错误的

请帮我解决一下这个。

0 投票
1 回答
867 浏览

ruby-on-rails - 竞争条件 - 使用一个数据库的多个应用程序实例

我计划将我的 Rails 应用程序扩展到多个实例,但它们仍将使用相同的数据库。如果两个用户最终使用应用程序的两个不同实例,编辑同一个帐户,那么这肯定会在某个地方引起竞争条件 - 鉴于这是一个 Rails 应用程序,防止这种情况的最佳方法是什么?

我所知道的唯一与数据库相关的设置允许指定实际服务器 IP。如果一个程序可以以某种方式成为中间人,它将解决问题......否则应用程序实例将不得不以某种方式相互通信,对吗?

除非有办法使用 Postgres 中的设置来解决这个问题......

任何帮助,将不胜感激!!谢谢!

0 投票
0 回答
1673 浏览

video-streaming - 从一个 Kurento 媒体服务器流式传输到另一个

我的任务是构建一个 Kurento 服务器集群,以将少量(大约 10 个)视频和音频流传输给大量观众(最多 1000 个接收器)。所以,是的,总共有 10,000 个流。显然,单个 Kurento 实例无法在任何类型的服务器上处理那么多,因此需要集群。

这是我打算做的事情:

1) 接受演示者到“主”服务器的连接,当创建管道时,创建 WebRtcEndpoint,从演示者客户端提供 SDP 报价,并将 SDP 答案传递给它,通过订阅 MediaStateChanged 等待流开始事件。

2)当它发生时,创建几个 RtpEndpoints 并为它们提供数据,手工破解的 SDP 提供如下

每次替换每个从服务器的 IP,以及它上面的一些空闲 UDP 端口超出分配给 Kurento 的范围。将该端点连接到演示者的 WebRtcEndpoint。

3)??????(需要在从属服务器上创建一个 RtpEndpoint,它将接收 RtpEndpoint 在第 2 步发送的流 - 但是如何?哪个 SDP 提供给它?可能是第 2 步收到的 sdpAnswer,将其作为 SDP 提供重用在从属 Kurento ? 不确定)

4) 通过循环负载平衡算法将查看器连接到每个从服务器,将 RtpEndpoint 馈送到它们的接收 WebRtcEndpoints

有人可以帮我完成第3步吗?我的计划也正确吗?

感谢您的任何建议!

米哈伊尔

PS 还有一个很大的问题是 $slave_port 将是什么

0 投票
1 回答
180 浏览

.net - 在 AWS 中托管的 .NET 应用程序中扩展 CPU 密集型任务

我的任务是呈现包含复杂图表、SVG 图像、表格和其他数据的大型复杂 PDF 报告。处理 1 个请求最多需要 10 分钟才能执行。有时我们必须在有限的时间范围内处理数百个这样的请求。执行这项工作的网络应用程序当前托管在单台机器上。服务是完全无状态的。一台机器上的并行几乎没有影响,所以我们正在寻找水平扩展它的方法。

我使用 AWS 来托管我们的服务。目前我正在考虑将带有此服务的 EC2 实例包含到手动或自动扩展组中,以便运行所需数量的实例。我还考虑添加一个可以承载所有请求的队列。这样所有实例都可以使用 1 个队列,并且每个实例都可以处理自己的请求(处理请求 = 呈现 1 个 PDF 报告)。

您能否推荐一些使用 AWS 为无状态 .NET 应用程序扩展 CPU 密集型工作的开箱即用方法/最佳实践。

先感谢您!

0 投票
1 回答
137 浏览

html - 在容器 CSS3 上应用最大高度

我几乎完成了构建我的 simon 游戏克隆的骨架,我唯一想做的就是将容器(包含游戏本身)设置为最大高度为 605 像素。

当它在视口中达到某个阈值时,我能够实现它的最大宽度,但是我很难应用相同的行为,而是水平地应用。

任何输入将不胜感激。

我也在 CodePen 中附加了我的代码:

http://codepen.io/neotriz/pen/RRxOJb

0 投票
1 回答
1085 浏览

hadoop - hbase 真的是线性扩展的吗?

我开始学习 hbase,但我不明白它是如何线性扩展的。

问题是在安装 hbase 之前,您必须拥有一个 hdfs 集群。HDFS集群有一个master节点,在整个集群中只能是一个,所以它是一个瓶颈。当然,我们可以再运行 1 个主节点(也可以只运行 1 个主节点),但它将处于备用状态。据我了解,hbase 使用 HDFS 集群来存储数据。所以,对我来说,运行多个 Hmaster 从逻辑上讲是没有意义的,因为所有请求都将发送到 hdfs 活动 master,如果我们有太多请求,性能会受到影响。

另外我不明白我们是否需要将 hbase 安装在具有 hdfs 的相同节点上或单独安装。如果我们将 hbase 与 HDFS 分开运行有什么好处。对我来说,在逻辑上使用 hdfs 将 hbase 集群安装在相同的节点上,如下例所示:

对我来说,这是最合乎逻辑的结构,因为如果我们将 hdfs master 与 hmaster 分开,那么松散 hbase 集群的概率将大两倍。

如果有人可以分享有关所有这些东西的信息,我将非常高兴。因为我真的不明白 hbase 是如何线性扩展的,以及它是如何与 hdfs 一起工作的。

0 投票
1 回答
1019 浏览

erlang - 如何在 Elixir/Phoenix 集群中分配持久连接?

所以这个问题困扰着我,我其实不需要这种规模,我只是好奇。最近 Chris Mccord 使用 Elixir/Phoenix 在一个盒子中获得了 200 万个持久连接。如果我在一个集群中有 3 个盒子,每个盒子处理 200 万个持久连接:

  1. 这是否意味着负载均衡器必须保持 600 万个持久连接,或者是否可以将连接转发到后端服务器并关闭负载均衡器上的连接?
  2. 我是否必须使用客户端中的某些逻辑来分配连接并避免单个入口点?类似box1.foo.com, box2.foo.com,box3.foo.com并告诉客户端连接到其中一个?

我知道答案可能是特定于应用程序的,但你能举一些例子来说明如何实现这种规模吗?同样,这只是一个思考练习,我在任何地方都找不到答案,我对水平缩放感兴趣。

谢谢你。

0 投票
2 回答
59 浏览

amazon-web-services - 当您的应用程序和数据库位于同一实例上时,从一个 EC2 实例扩展到两个

如果我有一个托管我的 Web 应用程序和 MariaDB 数据库的 EC2 实例,并且我想在某个时候通过将 Web 应用程序和数据库分离到单独的实例来进行扩展,那么在不导致任何停机的情况下这样做的标准做法是什么?对我来说,这似乎是一个复杂的问题,但我看到的所有讨论将 Web 和数据层与一开始就分开的好处的帖子大多都在谈论安全性好处,似乎并没有强调可扩展性的好处,这使得我认为这并不像看起来那么复杂。

此外,在同样的场景中,如果扩展并保持应用程序和数据库的耦合不那么复杂,它会如何工作?-- 牢记 0 停机时间要求。