我想了解什么是场景/用途/ RabbitMQ等消息传递方式可以帮助消费者Web应用程序.
有什么具体的资源要学习吗?
目前哪些Web应用程序正在使用这样的消息传递方案,以及如何?
解决方法
通常,消息总线(例如RabbitMQ,但不限于)允许可靠的作业处理队列.
这对Web应用程序意味着什么是根据需求增长来扩展应用程序的能力,并保持UI快速响应.
而不是迫使用户在处理作业时等待,他们可以请求处理作业(例如,单击网页上的按钮开始转码服务器上的视频文件),该消息向您的总线发送消息,让我们后端服务在队列转入时接收,也可能通知用户工作已经/将开始.然后,您可以将控制权返回给UI,因此用户可以继续使用该应用程序.
在这种情况下,您的Web界面无法提升重要性,而只是将用户的可见性视为合适的进程阶段(例如,该作业可以逐步更新可以查询和显示的进程状态的数据库记录.你的用户).
我会假设任何经历任何类型的相当流量的Web应用程序都将拥有这种类型的基础架构.虽然存在缺点(网络故障可能会中断消息传递,更复杂的基础架构等),但扩展后端的优势越来越明显.如果您正在使用云服务,这种类型的基础设施使得添加其他消息处理程序来处理您的作业非常简单,可以通过订阅作业队列,只需选择要处理的消息.