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