我們有三個組件(A,B和C)。 「A」使用遊戲WS將數據發送到「B」和「B」處理數據並將其發佈到「C」。當「C」處理數據緩慢時,我們有一種情況,超時發生在「B」中。但是在「B」中有大量的數據流向內部,並且一直將其發佈到「C」導致整個系統耗盡內存並最終崩潰。有沒有辦法限制「B」中WS請求的數量?搜索玩WS API,但沒有運氣。這應如何處理?請建議。播放WS max連接
2
A
回答
1
的問題是不是相關的最大連接數,而不是別的API。這個問題在分佈式系統中很常見,並且被命名爲「Fast producer and slow consumer」。還有更多的解決方案,然後我可以在這裏寫的,但短名單將是:
- 消息隊列(用於ActiveMQ的見Slow Consumer Handling)
- 背壓(這是可以用一句話來解釋的方法;「監製發送數據只有當消費者詢問「時,BTW,Akka Streams才能以優雅的方式提供這些數據)
- 規模(如果您希望系統速度更快,只需增加消費者的數量並在它們之間加載餘額請求或者使其成爲消費者更快)
編輯: 根據Documentation您可以設置最大值。每個主機的連接數或客戶端庫的總數,正如我上面提到的,正確的方法是改進架構,但這也可能有助於節省一天的時間。還請檢查reference.conf以獲取所有配置選項。
0
相關問題
- 1. 播放2.4 Scaldi WS測試
- 2. 播放WebSocket連接關閉
- 3. 模擬播放JDBC連接
- 4. Python:連接4播放
- 5. 播放ANORM和SQL連接
- 6. Oracle SQL Max連接
- 7. PYTHON - MAX TCP連接?
- 8. mongodb和max連接
- 9. 請求連接時WS WS不可用
- 10. 播放WS API:限制請求速率
- 11. 播放框架WS設置cookie
- 12. 播放WS SSL acceptAnyCertificate = true問題
- 13. 我的音頻播放器沒有連接播放器
- 14. Java連接錯誤JAX-WS
- 15. 在Chromecast接收器中連續播放
- 16. 播放框架 - 無法連接到postgresql
- 17. 播放帳單庫1.0 - 無連接
- 18. 連接到播放器的地板
- 19. 連接音量滑塊到播放器
- 20. 播放框架:關閉JDBC連接
- 21. 播放框架1.2.4泄漏https連接
- 22. 播放框架實體連接
- 23. 播放無法連接到MySQL
- 24. 播放框架 - 連接到linux mysql
- 25. 一幀有時播放連續播放
- 26. MQTT RSMB和mosquitto max連接
- 27. 與Max在連接表
- 28. MySQL-MAX在左連接表
- 29. 連續播放iTunes
- 30. MPMoviePlayerController連續播放
謝謝你的迴應。該產品處於GA的最後階段,我們沒有時間對設計進行大的改動。減速只發生在數據庫事務的負面情況下。爲了安全起見,我們正計劃處理這一問題。想知道Play WS是否已經支持這個?如果是的話如何? – Prakash
我編輯了我的答案,以獲得一些您想要的「保存一天」方法 –
如果我沒有錯,AsyncHttpClientConfig是一個不同的實現權限。我使用WS for REST。或者通過配置參數,它也可以用於WS以及https://www.playframework.com/documentation/2.4.x/ScalaWS#Configuring-WS。 – Prakash