digitalocean 上的可扩展 meanjs

scalable meanjs on digitalocean

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

据我了解,这可能是一个解决方案:

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

那就可以扩展了!因为 mongodb 可以单独集群并且 docker 使应用程序的扩展变得容易。

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

您认为这是否可以保证轻松缩放,例如,对于 meanjs 上的简单在线多人游戏?谢谢。

2018 年 7 月 31 日更新

Digital Ocean 介绍 Kubernates which does all the orchestration they have also released load balancer 我认为它可以很好地与 kubernates 一起工作

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

没有现成的解决方案。

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

这就是我所做的:

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

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

希望对您有所帮助。