0

我正在尝试学习一种部署过程,该过程可以保证meanjs应用程序的轻松扩展(不是人们在大公司中这样做的水平,也不是在业余爱好水平)。

所以只要我理解,这可能是一个解决方案:

  1. 在 Ubuntu 上的 digitalocean 上有 mongodb
  2. 在 docker 中拥有 meanjs 应用程序(除 mongodb 之外的所有应用程序)

然后可以扩展!因为 mongodb 可以单独集群,而 docker 使应用程序的扩展变得容易。

好吧,我知道这听起来微不足道,这就是我在这里问的原因:我只想去学习 docker,并想在花时间在上述假设的解决方案上之前确定一下!

你认为这能保证一个简单的扩展,比如说,一个简单的在线多人游戏meanjs吗?谢谢你。

4

1 回答 1

1

2018 年 7 月 31 日更新

Digital Ocean 引入了Kubernates,它完成了所有的编排,他们还发布了负载均衡器,我认为它可以很好地与 kubernates 配合使用

===============

没有现成的解决方案。

您可以将 docker 与 swamp 一起使用,但对于小型部署,它会带来额外的监控和网络问题。

所以这就是我所做的:

  1. 创建脚本以在您启动/停止实例时生成 HAProxy 配置
  2. 在集群或副本或其他任何东西中拥有 mongo。数据库通常不需要动态扩展。您只有一个 mongo 服务器,然后将其扩展,当您无法再垂直扩展时,您可以通过创建副本集水平扩展它,然后将其扩展,直到不能再进行分片。

因此,将 HAProxy 作为负载平衡器,接受端口 80 上的连接并转发到您的 droples 烤箱专用网络。您还可以编写脚本以使用 DO API 在您的部署中创建映像,并在您有更多流量时通过检测响应时间或 CPU 负载或您拥有的任何其他指标或静态地动态启动它。

我希望这有帮助。

于 2015-07-08T21:33:35.597 回答