我一直想知道在API服务器上存储会话数据的优点/缺点是什么。在API服务器上存储会话数据似乎更直观,但我可以看到保持API无状态并使用访问令牌访问数据的好处。
你有什么想法?
谢谢! 马特
答案 0 :(得分:0)
我想说,将会话存储在除应用服务器和API服务器之外的服务器中是很好的。
由于速度问题,memcached
和Redis
用作会话存储空间。它们很快,因为它们基于内存。
对于向外扩展,我建议您将会话存储与API和应用程序服务器分开。
即使您在应用程序和API服务器上遇到一段时间的问题,在这种情况下也不会丢失会话。
答案 1 :(得分:0)
从我到目前为止所读到的,都没有。
有another similar question询问,在真正的REST样式设置中,Application Server或数据库服务器是否应该保存会话。有几个人回答说,虽然保留在应用程序服务器上(或者在你的情况下是API服务器)有时更快或更方便,但最好将会话存储在数据库或Memcache中。
如果将它们保留在API服务器上,则在服务器崩溃时存在丢失会话的风险。
另外,(我从AJ解释)保留API服务器上的会话只有在以下情况下才能起作用:
我不确定第二个在这种情况下是否适用,但数据库和/或Memcache(感谢InspiredJW)的想法听起来确实是最好的选择!
非常感谢