【发布时间】:2020-06-06 13:43:19
【问题描述】:
我正在使用 NodeJS 构建一些 Web 应用程序。 我将应用程序部署到 AWS beanstalk Web 服务器,并解耦了一些繁重的任务, 并将繁重的任务部署到不同的 AWS beanstalk worker, 主 Web 服务器正在使用 SQS(aws 队列)执行工作程序。
主 Web 服务器有一个大的 DB 层来连接、获取和保存到数据库。 工作人员确实需要一些数据库操作,每种工作人员类型都需要已经在主 Web 服务器的数据库层中实现的不同操作。
所以我正在尝试找到一种方法来使用 Web 服务器的 DB 层,而不会在每种工作类型中重复它(这就是我现在正在做的事情)。
我的想法是将 DB 层与主应用程序分离,并将其部署到自己的 Web 服务器上,但这看起来很浪费,因为我不需要一直在 DB 层监听请求,我需要一些按需操作。
我附上了它的外观图片:
- 1号主服务器(全db层)
- 第二个队列
- 3 号工人。 (具有重复的数据库操作)
有什么好的解决办法吗?
【问题讨论】:
-
如何通过 API 将来自网络服务器的数据库操作公开给工作人员?
-
我不确定我是否理解正确,但您可以像@OluwafemiSule 所说的那样做同样的事情,还有另一种方法可以通过触发弹性豆茎中发生的任何事件来使用像亚马逊运动这样的流媒体,反之亦然跨度>
标签: node.js database amazon-web-services amazon-elastic-beanstalk infrastructure