我一直在想,在API服務器上存儲會話數據有什麼優點/缺點。將會話數據存儲在API服務器上似乎更直觀一點,但我可以看到保持API無狀態並使用訪問令牌訪問數據的好處。API服務器應該存儲用戶會話數據嗎?或者應用程序服務器?
你有什麼想法?
謝謝! Matt
我一直在想,在API服務器上存儲會話數據有什麼優點/缺點。將會話數據存儲在API服務器上似乎更直觀一點,但我可以看到保持API無狀態並使用訪問令牌訪問數據的好處。API服務器應該存儲用戶會話數據嗎?或者應用程序服務器?
你有什麼想法?
謝謝! Matt
我想說,將會話存儲在除應用程序服務器和API服務器之外的服務器上是很好的。
由於速度的原因,memcached
和Redis
被用作會話存儲。它們速度很快,因爲它們是基於內存的。
對於向外擴展,我建議您將會話存儲與API和應用程序服務器分開。
即使您在某段時間內在應用程序和API服務器中遇到問題,在這種情況下會話也不會丟失。
從我到目前爲止閱讀的內容來看,兩者都沒有。
有another similar question問,在真正的REST風格的設置中,應用程序服務器還是數據庫服務器應該保存會話。有幾個人回答說,儘管保持應用服務器(或者您的API服務器)的速度有時更快或更方便,但最好將會話存儲在數據庫或Memcache中。
如果您將它們放在API服務器上,那麼如果服務器崩潰,就會冒着丟失會話的風險。
另外,(我是從AJ意譯)保持你的會話API服務器上,如果只會工作:
我不知道第二個應用盡可能多的在這種情況下,但數據庫和/或內存緩存(感謝InspiredJW)想法聽起來你最好的選擇!
非常感謝