问题标签 [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 回答
239 浏览

c# - 为什么扩展 RESTful 服务比 SOAPful 或其他 Web 服务更容易?

在一次采访中,我被问到这个问题。

据我说,两者实际上都在公开一项服务。

如果扩展实现 SOAPful 服务的 .net 解决方案需要花费大量时间,那么扩展实现 RESTful 服务的 .net 解决方案n不应该花费相同的时间吗?n

0 投票
1 回答
138 浏览

design-patterns - 我应该使用什么模式将我的关系 SQL 数据库重构为键值存储?

我正在考虑将我的 Web 应用程序从 SQL 数据库迁移到键值存储,这样我就可以水平扩展我的应用程序。

我正在计划如何迁移我的模式 - 我确信必须有一个模式来做到这一点。

我将举一个米老鼠的逻辑例子来展示我的想法。这是一个关系数据库中的简单库系统,带有Books、Persons 和BorrowEvents。您可以使用 s 连接从Books 到PersonsBorrowEvent以查看谁借了哪个Book

现在让我们尝试以下重构:

这通过查询 BorrowEvent 来工作,使用正则表达式拆分值的字符串以获取 ID。

现在这有几个限制。如果我想在我的 中添加一个,AuthorBook必须添加一个额外的跃点来检索我的图书信息。如果我想要Person一个名字和姓氏,也是如此。

我想这种从关系存储到键值存储的转换必须有一种模式。(或多种模式)。我只是不知道叫什么名字。

我的问题是:我应该使用什么模式将关系 SQL 数据库重构为键值存储?

假设

  • 假设这是一个逻辑重构,而不是物理重构。
0 投票
0 回答
61 浏览

node.js - RESTful API 2x nodejs 应用程序在同一台服务器上,带有回退

我想要运行的微服务front-end-webback-end-apinodejs 应用程序。在单台机器上通过 RESTful HTTP API 进行通信(阅读 ec2)。

无状态我想在未来跨 ec2 实例水平扩展这些。使用Redis(ElasiCache)和MySQL(RDS)(无状态读取)

负载平衡当缩放时,我将使用 ELB 进行负载平衡。那里没有问题。

问题: 如果 aback-end-api在机器上出现故障,是否有可能以某种方式回退到另一个运行back-end-api实例的 ec2 服务器?我该怎么做。

为什么不分离 API 应用程序?好吧,为了延迟和可维护性,我想将它们保留在同一台服务器上。

哦,顺便说一句,我使用 docker :-)

0 投票
1 回答
143 浏览

mongodb - 为什么查询隔离是一件好事?

MongoDB 文档

通常,分片环境中最快的查询是 mongos 将路由到单个分片的查询

这对我来说似乎违反直觉。分片的全部意义不是横向传播数据和处理,而不是纵向吗?如果在多个分片上进行处理以便并行处理,会不会更快?

在这种情况下,为什么在一台机器上进行所有处理比在多台机器上进行更好?

0 投票
1 回答
229 浏览

php - Docker 容器的粒度

在使用 Docker 设计应用程序基础架构和架构时,最佳实践是为每个“服务”创建一个容器还是为“服务”中的每个进程创建多个容器?

例如使用 Nginx、PHP-FPM、Redis、MySQL 和 ElasticSearch 的分布式 PHP 应用程序。

服务容器:

  • Nginx + App + PHP-FPM(完整的应用程序作为“服务”容器)
  • 雷迪斯
  • MySQL

处理容器:

  • Nginx
  • 应用程序
  • PHP-FPM
  • 雷迪斯
  • MySQL

从我的角度来看,使用“服务”容器方法似乎更易于维护,因为为每个进程管理如此多的谨慎容器可能会变得很麻烦。

0 投票
1 回答
29098 浏览

database - 水平缩放 Postgres

假设您在 postgresql 数据库之上运行您的业务。一段时间后,您获得了如此多的流量,以至于单个 postgresql 实例无法处理,因此您希望添加更多实例(水平扩展)以应对增长。

您的数据是相关的,因此可能无法切换到某些键/值解决方案。

你会如何用 postgresql 做呢?

PS。PostgreSQL 版本:9.5

0 投票
1 回答
240 浏览

kubernetes - 如果不进行滚动更新,为什么要自动缩放 Kubernetes?

参考这个文档,我想我理解在更新期间临时水平缩放 pod 的价值。例如,您从 1 个 pod 转到 2 个 pod - 更新 pod 1,然后删除 pod 2。

如果您不进行更新,水平扩展 Kubernates 是否有任何价值?复制 pod 不会简单地降低每个 pod 的性能吗?

例如,将 pod 的数量增加一倍,同时保持 RAM 的数量不变,这意味着每个 pod 将拥有一半的 RAM。

0 投票
1 回答
177 浏览

java - JAVA ORM应用中RDBMS数据库的横向扩展

使用 Java 应用程序水平扩展 RDBMS 的最新和最优化的方法是什么?我知道分片是一种选择,但它有其自身的复杂性,更复杂的是故障转移服务器。

谢谢,

0 投票
2 回答
500 浏览

javascript - Google 表格脚本错误 - cell.setHorizo​​ntalAlignment(SpreadsheetApp.Horizo​​ntalAlignment.CENTER)

我在这里坚持使用这个脚本,它不断给出标题中提到的错误。

标题:cell.setHorizo​​ntalAlignment(SpreadsheetApp.Horizo​​ntalAlignment.CENTER)

谢谢!

0 投票
1 回答
2205 浏览

authentication - 水平缩放laravel应用程序?

由于我的 laravel 应用程序将部署到 heroku,我想知道如何避免会话关联,以便任何节点都可以处理用户请求。

据我所知,第一次提供身份验证的服务器将在会话中存储 auth-token 以稍后识别用户,但是,如果添加新节点来扩展应用程序,是否必须使用存储了身份验证令牌的同一台服务器?如何在 laravel 中避免这种情况?