我想了解什麼是場景/用例/像RabbitMQ這樣的消息可以幫助消費者的Web應用程序。在Web應用程序中使用類似RabbitMQ的消息嗎?
是否有任何特定資源可供學習?
什麼Web應用程序目前正在使用這種消息傳遞方案,以及如何?
我想了解什麼是場景/用例/像RabbitMQ這樣的消息可以幫助消費者的Web應用程序。在Web應用程序中使用類似RabbitMQ的消息嗎?
是否有任何特定資源可供學習?
什麼Web應用程序目前正在使用這種消息傳遞方案,以及如何?
通常,消息總線(例如RabbitMQ,但不限於此)允許可靠的作業處理隊列。
這對於Web應用程序而言意味着什麼,是隨着需求的增長而擴展您的應用程序,並保持您的UI快速響應。
與其強制用戶在處理作業時等待,他們可以請求處理作業(例如,單擊網頁上的按鈕開始對服務器上的視頻文件進行轉碼),從而將消息發送到你的公共汽車,當後臺服務輪到隊列時,讓後端服務接收它,並且可能會通知用戶工作已經開始。然後,您可以將控制權返回給用戶界面,以便用戶可以繼續使用該應用程序。
在這種情況下,您的Web界面並沒有繁重的工作,而只是在您認爲合適的時候讓用戶能夠看到流程的各個階段(例如,作業可以隨着流程狀態逐步更新數據庫記錄查詢並顯示給您的用戶)。
我會假設任何經歷任何相當流量的網絡應用都會有這種類型的基礎設施。儘管存在不足(網絡故障可能會破壞消息傳遞,更復雜的基礎設施等),但擴展後端的優勢日益明顯。如果您正在使用雲服務,則此類型的基礎架構通過訂閱作業隊列並選取要處理的消息來添加額外的消息處理程序來處理作業很簡單。