當多個客戶端同時對GRPC服務器進行同一呼叫時,服務器是否異步地應答這些呼叫?如果我想要服務器同步處理呼叫,我應該使用某種類型的鎖定,如AsyncSemaphore
?使用這種模式,我可以「持有」一個正在進行的呼叫多長時間(例如,兩個客戶端同時進行同一呼叫,一個呼叫阻塞,直到第一個客戶端的呼叫被應答),直到GRPC取消它或客戶端斷開連接? GRPC在這方面是否有關鍵超時?併發但同步的GRPC服務器呼叫處理
0
A
回答
0
gRPC將以異步方式應答呼叫。如果你想要一個服務器只服務一次調用,你應該在你的處理程序中使用一個鎖。
+0
詳細闡述一下:你應該同時接受調用(這裏沒有做什麼,這是默認行爲),並在你的處理程序中實現同步邏輯 - 它不一定是鎖,但你可以使用類似的基元(例如將請求添加到同步處理隊列並等待請求完成)。只要您在客戶端設置了足夠長的截止日期,正在進行的呼叫就會保持有效。 –
相關問題
- 1. Web服務的併發呼叫的處理
- 2. WCF服務10s呼叫同步
- 3. 谷歌助理gRPC呼叫掛起
- 4. 同時GRPC客戶端同步/異步服務器
- 5. 排隊的異步/同步併發呼叫
- 6. 在表單提交之前與AngularJS同步呼叫服務器
- 7. 控制器使同步多重嵌套服務呼叫
- 8. jQuery同步呼叫
- 9. Nservicebus同步呼叫
- 10. 呼叫應答器的異步呼叫
- 11. AngularJS如何處理異步呼叫
- 12. 呼叫服務
- 13. 呼叫語音服務器
- 14. 呼叫從服務器
- 15. express-ws在部署到VPS服務器時不處理呼叫
- 16. 使用異步呼叫服務等待
- 17. WCF中的同時呼叫處理
- 18. 發佈的對象,並在同一個呼叫文件到服務器jQuery.ajax
- 19. 服務內呼叫服務
- 20. GRPC服務發現
- 21. 異步PostSaveDocument呼叫代理
- 22. 呼叫REST服務
- 23. 使nodejs同步呼叫
- 24. DBus同步呼叫超時
- 25. WCF併發呼叫
- 26. Asterisk的處理多個併發呼叫的IVR
- 27. Android:如何取消/中斷同步服務呼叫?
- 28. 有沒有測試方法處理併發呼叫的方法?
- 29. 呼叫處理程序從不同的域和發送錯誤
- 30. 呼叫鏈接的服務器程序
您是否實施了GRPC服務器?它是別人的代碼嗎?它在運行什麼語言/平臺? – mjwills
這是我的代碼,語言是C# – liondog
當你嘗試它時發生了什麼?它是不是同時回答它們? – mjwills