503 服务器容量 Elastic Beanstalk

Posted

技术标签:

【中文标题】503 服务器容量 Elastic Beanstalk【英文标题】:503 server at capacity Elastic Beanstalk 【发布时间】:2016-11-28 01:45:24 【问题描述】:

我有弹性 beanstalk 运行 Node 应用程序。 Node 应用程序将数据发送到通过 cloudformation 构建的 3 个 Mongo 服务器。一切都很好,直到我在数据库中点击了几百万个条目,突然我开始收到 503 错误。

日志从节点应用程序显示:

[MongoError: exception: socket exception [CONNECT_ERROR] for s2-rs9/XXXXXX:27027]
  name: 'MongoError',
  message: 'exception: socket exception [CONNECT_ERROR] for s2-rs9/XXXXXX:27027',
  sharded: false,
  primary: 's2-rs9',
  code: 11002,
  ok: 0,
  errmsg: 'exception: socket exception [CONNECT_ERROR] for s2-rs9/XXXXXX:27027' 

有什么想法吗?

【问题讨论】:

【参考方案1】:

您需要做的就是为您的数据库启用分片,您的分片在错误消息中为假。如果查询增加,您必须启用分片以平衡增加的查询数量。

你可以用sh.enableSharding(database)做到这一点

要查看分片命令,您可以执行sh.help(),这将输出您的命令列表及其描述。在那里你可以找到这个 enableSharding。

另外请记住,在进行分片之前,您的 myKey 上需要有索引(否则您会收到一些关于索引的错误)。所以如果你还没有这样做 - 之前用db.collection.ensureIndex(myKey)创建它们

【讨论】:

以上是关于503 服务器容量 Elastic Beanstalk的主要内容,如果未能解决你的问题,请参考以下文章

Elastic Beanstalk:将分支部署到环境

Elastic Beanstalk 在配置菜单中没有负载均衡器设置

AWS Elastic Beanstalk - 增加实例磁盘容量

Amazon Elastic MapReduce 中的容量调度程序

如何为 Elastic Beanstalk 配置 Laravel?

带有 docker 应用程序的 AWS Elastic Beanstalk 返回 502