在浏览文档时,我开始了解AWS中的这两层环境,但无法找到它们之间的任何比较。在文档中建议的是,应该为长期运行的任务选择工作环境(以提高Web层的响应能力)。 我几乎无法澄清我的疑虑 1. 两层如何相互不同? (关于执行不同的操作,每个等的服务) 2. 两者如何相互沟通? (如果我在Web层和后端开发我的前端应用程序 工人层)
答案 0 :(得分:5)
我认为最重要的区别是工作层实例不运行Web服务器进程(apache,nginx等)。因此,他们不直接回应客户的要求。相反,它们可用于从Web层卸载长时间运行的进程。
这些层通过SQS相互通信。当您的Web实例需要生成后台作业时,它会使用作业详细信息将消息发布到共享队列。在工作器实例上运行的守护程序从队列中读取该项,并将消息POST到应用程序在http://localhost/上公开的端点。
话虽这么说,我认为网络/工作者架构可能在前端/后端"您正在描述的术语。您的Web层完全能够运行Web服务器和应用程序服务器。但是,如果您有后台或异步处理的要求,那么添加工作层可能是有意义的。