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

How many parallel requests can be made using a single session token in a REST API

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

请帮助我理解他们的 response.Below 是我与 Sabre API 支持人员进行的一系列电子邮件对话。

你好卡拉姆,

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

此致,


你好塞巴斯蒂安 非常感谢你和我在一起并帮助我解决这个问题。

正如您提到的,我们一次可以有 50 个会话令牌,是否可以使用单个会话令牌同时发出 1 个以上的请求(异步请求)? 例如,我们得到一个会话令牌并将其存储在我们的端并使用它来发出多个请求。

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

谢谢

卡拉姆

你好卡拉姆,

请参阅下面我对您的查询的回答:

正如您提到的,我们一次可以有 50 个会话令牌,是否可以使用单个会话令牌同时发出 1 个以上的请求(异步请求)? 例如,我们得到一个会话令牌并将其存储在我们的端并使用它来发出多个请求。

不可能,这实际上不是与 Sabre Web 服务相关的行为,而是 Sabre 主机的工作方式。 Saber 是一个同步系统,一旦发送请求,您需要等到收到响应才能 运行 进行第二次调用。否则,您将收到类似“上一个条目有效”或类似信息的消息。

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

这将取决于会话管理器和客户的需求,但我们的大多数客户不需要同时使用 1000 个会话。在任何情况下,一旦您成为网络服务订阅者,您就可以定义并向您的客户经理请求最能满足您需求的代币数量。

希望对您有所帮助!

此致,

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

他们推荐的是创建一个会话管理器,这样您就可以拥有自己的会话队列并使用它们,"ignore" 根据需要使用它们。这样您就可以拥有仅用于查询的会话和用于触摸 PNR 的会话,您还可以管理自己的到期时间或 "keep alive" 例程。