在弹性beantalk上运行mongo并连接到它-优点和缺点?

问题描述 投票:0回答:1

我有一个三层应用程序。我的问题与AWS上的Spring Boot Rest API中间层和mongodb后端有关。我正在考虑在弹性beantalk /单个容器选项中运行mongodb docker容器,以扩展后端。

我的rest api将在单独的弹性beantalk环境中作为docker容器运行。

我的理解是,弹性beantalk将根据需要扩展dockerized mongodb服务。

高级架构:

前端-Angular-s3静态网站托管

中间层-3个Spring Boot休息服务-3个独立的环境,单个容器docker扩展了弹性豆秆。

后端-Mongodb-具有弹性豆秆扩展的单个Docker容器。

问题:

Qn:这样行吗?每个等级都会扩展吗?休息服务可以连接到数据库吗?这要多少钱?中间层和后端之间是否会有太多延迟?

Qn:出于某种原因,这是一个顽强的追求吗,我没有看到一些障碍?我对这种方法的研究几乎没有结果。有人会不愿意尝试吗? :)

注意:

弹性豆茎似乎以稍高的成本提供了便利。我愿意接受它,因为我只是在测试。 Kubernetes / docker集群似乎过于复杂且耗时,因为我需要在短期内专注于应用程序功能。

我应该能够将卷映射到aws中的物理位置。猜测弹性块存储或EFS。任何利弊还是更好的选择?

我知道我可以使用细罐子来提高效率。

我已经在EC2上部署了mongodb对其进行了测试。我应该能够将其设置为工作启动配置和自动缩放组。但是我认为这将更加昂贵,并且可能还会有更多工作。

spring mongodb amazon-web-services docker amazon-elastic-beanstalk
1个回答
0
投票

我不确定“用弹性豆茎缩放的单个Docker容器”是什么意思,但是如果您打算启动更多运行MongoDB的容器,则实际情况要复杂得多。

虽然MongoDB确实是水平扩展的,但是当在副本集拓扑中启动新节点时,它:

  • 必须添加到副本集配置中
  • 需要其他节点已经同步到其上的数据

有一些工具可以满足这两个要求,但是仅仅提出另一个容器是不够的。

共享集群更加复杂,因为需要将一个节点分配给一个分片,因此需要进行两个级别的管理决策。

© www.soinside.com 2019 - 2024. All rights reserved.