问题标签 [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.
c# - 为什么扩展 RESTful 服务比 SOAPful 或其他 Web 服务更容易?
在一次采访中,我被问到这个问题。
据我说,两者实际上都在公开一项服务。
如果扩展实现 SOAPful 服务的 .net 解决方案需要花费大量时间,那么扩展实现 RESTful 服务的 .net 解决方案n
不应该花费相同的时间吗?n
design-patterns - 我应该使用什么模式将我的关系 SQL 数据库重构为键值存储?
我正在考虑将我的 Web 应用程序从 SQL 数据库迁移到键值存储,这样我就可以水平扩展我的应用程序。
我正在计划如何迁移我的模式 - 我确信必须有一个模式来做到这一点。
我将举一个米老鼠的逻辑例子来展示我的想法。这是一个关系数据库中的简单库系统,带有Book
s、Person
s 和BorrowEvent
s。您可以使用 s 连接从Book
s 到Person
sBorrowEvent
以查看谁借了哪个Book
。
现在让我们尝试以下重构:
这通过查询 BorrowEvent 来工作,使用正则表达式拆分值的字符串以获取 ID。
现在这有几个限制。如果我想在我的 中添加一个,Author
我Book
必须添加一个额外的跃点来检索我的图书信息。如果我想要Person
一个名字和姓氏,也是如此。
我想这种从关系存储到键值存储的转换必须有一种模式。(或多种模式)。我只是不知道叫什么名字。
我的问题是:我应该使用什么模式将关系 SQL 数据库重构为键值存储?
假设:
- 假设这是一个逻辑重构,而不是物理重构。
node.js - RESTful API 2x nodejs 应用程序在同一台服务器上,带有回退
我想要运行的微服务front-end-web
和back-end-api
nodejs 应用程序。在单台机器上通过 RESTful HTTP API 进行通信(阅读 ec2)。
无状态我想在未来跨 ec2 实例水平扩展这些。使用Redis
(ElasiCache)和MySQL
(RDS)(无状态读取)
负载平衡当缩放时,我将使用 ELB 进行负载平衡。那里没有问题。
问题: 如果 aback-end-api
在机器上出现故障,是否有可能以某种方式回退到另一个运行back-end-api
实例的 ec2 服务器?我该怎么做。
为什么不分离 API 应用程序?好吧,为了延迟和可维护性,我想将它们保留在同一台服务器上。
哦,顺便说一句,我使用 docker :-)
mongodb - 为什么查询隔离是一件好事?
通常,分片环境中最快的查询是 mongos 将路由到单个分片的查询
这对我来说似乎违反直觉。分片的全部意义不是横向传播数据和处理,而不是纵向吗?如果在多个分片上进行处理以便并行处理,会不会更快?
在这种情况下,为什么在一台机器上进行所有处理比在多台机器上进行更好?
php - Docker 容器的粒度
在使用 Docker 设计应用程序基础架构和架构时,最佳实践是为每个“服务”创建一个容器还是为“服务”中的每个进程创建多个容器?
例如使用 Nginx、PHP-FPM、Redis、MySQL 和 ElasticSearch 的分布式 PHP 应用程序。
服务容器:
- Nginx + App + PHP-FPM(完整的应用程序作为“服务”容器)
- 雷迪斯
- MySQL
处理容器:
- Nginx
- 应用程序
- PHP-FPM
- 雷迪斯
- MySQL
从我的角度来看,使用“服务”容器方法似乎更易于维护,因为为每个进程管理如此多的谨慎容器可能会变得很麻烦。
database - 水平缩放 Postgres
假设您在 postgresql 数据库之上运行您的业务。一段时间后,您获得了如此多的流量,以至于单个 postgresql 实例无法处理,因此您希望添加更多实例(水平扩展)以应对增长。
您的数据是相关的,因此可能无法切换到某些键/值解决方案。
你会如何用 postgresql 做呢?
PS。PostgreSQL 版本:9.5
kubernetes - 如果不进行滚动更新,为什么要自动缩放 Kubernetes?
参考这个文档,我想我理解在更新期间临时水平缩放 pod 的价值。例如,您从 1 个 pod 转到 2 个 pod - 更新 pod 1,然后删除 pod 2。
如果您不进行更新,水平扩展 Kubernates 是否有任何价值?复制 pod 不会简单地降低每个 pod 的性能吗?
例如,将 pod 的数量增加一倍,同时保持 RAM 的数量不变,这意味着每个 pod 将拥有一半的 RAM。
java - JAVA ORM应用中RDBMS数据库的横向扩展
使用 Java 应用程序水平扩展 RDBMS 的最新和最优化的方法是什么?我知道分片是一种选择,但它有其自身的复杂性,更复杂的是故障转移服务器。
谢谢,
javascript - Google 表格脚本错误 - cell.setHorizontalAlignment(SpreadsheetApp.HorizontalAlignment.CENTER)
我在这里坚持使用这个脚本,它不断给出标题中提到的错误。
标题:cell.setHorizontalAlignment(SpreadsheetApp.HorizontalAlignment.CENTER)
谢谢!
authentication - 水平缩放laravel应用程序?
由于我的 laravel 应用程序将部署到 heroku,我想知道如何避免会话关联,以便任何节点都可以处理用户请求。
据我所知,第一次提供身份验证的服务器将在会话中存储 auth-token 以稍后识别用户,但是,如果添加新节点来扩展应用程序,是否必须使用存储了身份验证令牌的同一台服务器?如何在 laravel 中避免这种情况?