0

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

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

你好,卡拉姆,

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

问候,


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

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

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

谢谢

卡拉姆

你好,卡拉姆,

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

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

这是不可能的,它实际上不是 Sabre Web Services 相关的行为,而是 Sabre 主机的工作方式。Sabre 是一个同步系统,一旦发送了请求,您需要等到收到回复才能运行第二次调用。否则,您将收到类似“Previous ENTRY ACTIVE”或类似的消息。

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

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

希望这可以帮助!

最好的祝福,

4

1 回答 1

1

没错,您不能对多个并行请求使用相同的会话/令牌...(Sabre 保持会话状态,这会影响您下一个请求的结果)

他们建议创建一个会话管理器,因此您将拥有会话队列并使用它们并在需要时“忽略”它们。这样,您可以拥有仅用于查询的会话和用于接触 PNR 的会话,您还可以管理自己的到期时间,或“保持活动”例程。

于 2015-03-25T22:58:38.240 回答