我正在通過EventMachine使用WebSockets在Ruby上構建服務器。Ruby和EventMachine-WebSockets - 它有多異步?
比方說,用戶卡爾要求一輛車。
向CarManager請求車號「7」。 CarManager創建一個Car實例,Car從Mongo數據庫加載自己(提供了id)。汽車「7」存儲在CarManager中,就像一個緩存,只要Carl或任何其他人持續使用或請求它。然後Car通過WebSocket發送,具體發送給Carl。我在某處儲存了Carl的WS。
如果兩個用戶Lenny和Carl都在「確切」同時要求Car id「7」,該怎麼辦?請問CarManager,因爲無論在哪種情況下都無法找到Car 7的緩存版本,而是從數據庫中獲取它並實例化它,或者這兩個WebSocket請求中的一個將首先處理,然後第二個將使用緩存版?
WebSockets的整個異步事件讓我有點困惑。感謝您對此的任何見解!