回答
不,但您可以批處理API調用以獲得更好的性能。在this博客文章中查看「批量RPC」示例。
要注意的另一件事是梁不能保證一次 - 外部API調用。如果所討論的流水線需要完全一次QoS,則應努力使API調用具有冪等性。
這取決於API調用和類型你的數據的大小。如果數據指定需要進行的API調用,則這是適當的。但是,如果您有一些用於豐富輸入元素的有限數據,則可以使用Beam編程模型的某些部分來減少所需的外部呼叫數量。例如,如果可以預加載生成API調用結果的數據,則可以通過讀取所有數據並使用View.asMap
(或任何適合的視圖)來使用側面輸入,從而減少API調用的時間數量爲每次執行一些相對恆定的數量。然後可以通過使用ParDo.withSideInputs
來消耗側面輸入;請參閱programming guide,特別是關於ParDo和SideInputs
非常感謝Thomas的詳細回覆。我還可以問一下,根據Apache Beam編程模型進行這種API調用是否是反模式? –
它高度依賴於您的數據和外部API;它的適當程度取決於訪問模式,外部服務的可用性以及其他上下文元素。在某些情況下可能不合適,但我不會將其稱爲反模式。 –
謝謝托馬斯! –
- 1. Python Apache Beam Pipeline狀態API調用
- 2. 反射是否違反LSP?
- 3. 共享內存模型是否違反流程?
- 4. 什麼是Apache Beam?
- 5. RelayCommand是否違反MVVM模式?
- 6. 裝飾者模式是否違反SRP?
- 7. cordova webview是否違反csp
- 8. DbFunctions類是否違反SRP
- 9. 檢查PCollection是否爲空 - Apache Beam
- 10. 線程是否違反了robots.txt?
- 11. QTreeView中的setModel是否違反了以前的模型索引?
- 12. 自動檢查是否違反了android:minSdkVersion
- 13. 防禦性編程是否違反DRY原則?
- 14. 自定義HTML幫助程序類是否違反了ASP.NET MVC模型?
- 15. 函數參數是否違反封裝?
- 16. Apache Beam/Flink ExceptionInChainedStubException
- 17. Python __init___:這是否違反約定?
- 18. 如何使用Apache Beam模型導航樹
- 19. 'PartialFunction extends Function`是否違反LSP?
- 20. 是否有Android Beam失敗回調
- 21. 這是否違反了EJB限制?
- 22. 此方法調用是否違反Demeter法則?
- 23. 這個類是否違反SRP?
- 24. Apache Beam和CombineFn編碼器問題
- 25. 是否有任何API用於計算Geofence違反除Android API之外
- 26. AOP是否違反企業應用程序的分層架構?
- 27. Apache Beam mongodb源碼
- 28. 這兩個類是否違反封裝?
- 29. 堆違反
- 30. ToString()方法是否違反SRP?
感謝您對批量RPC的建議。 –