在REST API中使用单个会话令牌可以进行多少个并行请求

时间:2015-03-25 12:41:49

标签: rest session token session-state sabre

我正在开发一个严重依赖Sabre API的应用程序。当大约一百万用户同时访问API时,应用程序的关键因素将是性能。 在与Sabre API支持人员交谈之后,他们告诉我的是,他们一次只能提供最多50个会话令牌,你必须在最后管理会话。 这使我的问题得不到解决 - 他们能够处理一百万个并行请求吗? 所以基本上我们能够使用相同的会话令牌发出多个请求,除非它过期了吗?

请帮助我理解他们的回复。这是我与Sabre API支持进行的一系列电子邮件对话。

Hello Karam,

限制将是为PCC设置的同步会话。默认情况下,您可以在CERT中创建最多50个同时令牌(50个同步会话),但您的问题的答案是否定的,我们这边的处理时间不会受到影响。

此致


你好塞巴斯蒂安 非常感谢你和我一起帮助我。

因为您已经提到我们一次可以拥有50个会话令牌,是否可以使用单个会话令牌发出多个同时请求(异步请求)? 例如,我们获取会话令牌并将其存储在我们的最后并使用它来发出多个请求。

我问这个是因为,如果没有,那么这意味着我们一次只能发出50个并行请求(每个会话令牌1个请求)。 如果确实如此,那么我们可能必须实现一个请求队列,这将延迟最终用户的响应。

由于

卡拉姆

Hello Karam,

请在下面查看我的回答:

因为您已经提到我们一次可以拥有50个会话令牌,是否可以使用单个会话令牌发出多个同时请求(异步请求)? 例如,我们获取会话令牌并将其存储在我们的最后并使用它来发出多个请求。

这是不可能的,它实际上不是与Sabre Web Services相关的行为,而是Sabre主机如何工作。 Saber是一个同步系统,一旦发出请求,您需要等到收到响应才能运行第二个呼叫。否则,您将收到“PREVIOUS ENTRY ACTIVE”或类似信息。

我问这个是因为,如果没有,那么这意味着我们一次只能发出50个并行请求(每个会话令牌1个请求)。 如果确实如此,那么我们可能必须实现一个请求队列,这将延迟最终用户的响应。

这将取决于会话管理员和客户的需求,但我们的大多数客户不需要消耗1000个同时会话。在任何情况下,一旦您成为网络服务订阅者,您就可以定义并向您的客户经理索取最符合您需求的令牌数量。

希望这有帮助!

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:1)

这是正确的,你不能对多个并行请求使用相同的会话/令牌......(Saber保持会话状态,这会影响你下一个请求的结果)

他们建议创建会话管理器,这样您就可以使用会话队列并使用它们"忽略"他们就像你需要它们一样。这样你就可以只有查询会话和触摸PNR的会话,你也可以管理你自己的到期时间,或者"保持活着"常规。