0

我一直想知道在 API 服务器上存储会话数据的优点/缺点是什么。将会话数据存储在 API 服务器上似乎更直观一些,但我可以看到保持 API 无状态和使用访问令牌访问数据的好处。

你觉得呢?你有没有什么想法?

谢谢!马特

4

2 回答 2

0

从我目前所读到的,两者都不是。

还有另一个类似的问题,询问在真正的 REST 样式设置中,应用程序服务器或数据库服务器是否应该持有会话。一些人回答说,虽然有时将会话保存在应用程序服务器(或者在您的情况下是 API 服务器)上更快或更方便,但最好将会话存储在数据库或 Memcache 中。

如果您将它们保留在 API 服务器上,那么如果服务器崩溃,您将面临丢失会话的风险。

此外,(我从AJ解释)将您的会话保留在 API 服务器上仅在以下情况下才有效:

  • 您的客户端始终连接到同一台服务器(又名“会话亲和性”)
  • 您的服务器节点都使用一个公共安装点来假脱机会话

我不确定第二个是否适用于这种情况,但是数据库和/或 Memcache(感谢InspiredJW)的想法听起来确实是您最好的选择!

非常感谢

于 2012-09-14T01:08:07.990 回答
0

我想说,将会话存储在应用程序服务器和 API 服务器之外的服务器中是很好的。

因为速度,memcachedRedis用作会话存储。它们速度很快,因为它们是基于内存的

对于横向扩展,我建议您将会话存储与 API 和应用程序服务器分开。

即使您的应用程序和 API 服务器在一段时间内出现问题,在这种情况下会话也不会丢失。

于 2012-09-12T02:04:28.990 回答