如何解决在 Amazon Fargate 上启动 mongo db
我们正在尝试使用 Fargate 在 Amazon ECS 上设置微服务架构。当涉及到数据库时,我们无法启动 mongodb 的实例。数据库在 3 分钟后自动关闭。
日志状态
{"t":{"$date":"2021-03-15T15:34:17.913+00:00"},"s":"I","c":"REPL","id":4784900,"ctx":"SignalHandler","msg":"Stepping down the ReplicationCoordinator for shutdown","attr":{"waitTimeMillis":10000}}
我的问题是,
a) 数据库在 3 分钟后自动关闭的可能原因是什么?
b) 这是在 Amazon fargate 中启动数据库的正确方法吗?或者有没有更好的方法来实现相同的目标?
解决方法
我不确定 MongoDB 的核心问题。我的第一个猜测是 ECS 上的运行状况检查失败或配置错误;如果是这种情况,运行状况检查将显示在您的 ECS 事件历史记录中(在(新)UI 中:集群 > 选择服务 > 底部的通知)。
如果没有错误的健康检查通知,则可以排除这种情况,并且可能需要更多信息来进行全面诊断,例如完整的 ECS/Fargate 服务/任务配置。
一般来说,对于您的第二个问题,在 Fargate 上运行数据库不是推荐的用例。 Fargate 更适合无状态服务,如 Web API,它们更能容忍频繁停止和启动,并在每次启动时接收不同的 IP 地址。在 AWS 中,MongoDB 更适合简单的 EC2,或者通过他们的 DocumentDB 类似 MongoDB 的托管服务。还有几个 MongoDB 托管托管服务提供商可以提供 Fargate 的低管理、无服务器感觉,例如 MongoDB Atlas。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。