用户可以使用以下任一方式连接到 Deribit 平台 连接范围的 或者 会话范围的 身份验证令牌。每种方法都有不同的特性、寿命和限制。了解这些范围的工作原理有助于确保可靠的连接、WebSocket 功能的最佳使用以及遵守平台限制,例如每个 API 密钥的同步连接数或会话数
极限
-
子账户的最大数量: 20
-
每个(子)账户的最大 API 密钥数: 8
-
每个 IP 的最大连接数: 32
-
每个 API 密钥的最大会话数: 16
A 连接 是客户机和服务器之间通过网络连接的单一、连续的链接。用户可以使用进行身份验证 connection 范围,这些身份验证连接是 不计入限额。两者都不是 connection 也不 session 范围是在请求中指定的,服务器将默认使用 connection 范围。
Deribit 强制执行的限制为 每个 IP 地址 32 个同时连接,无论用户是否经过身份验证。此限制适用于所有当前打开的连接,包括:
-
HTTP 请求(GET/POST) — 每个请求在其持续时间内都会打开一个新的连接
-
WebSocket 连接 — 连接在连接期间保持打开状态
小心
32 个连接限制涵盖两者 会话范围的 和 连接范围的 连接。例如,您可以打开每种类型的 16 个连接,或者 1 个会话范围的连接和 31 个标准连接。任何试图建立 来自同一 IP 的第 33 个连接 将被拒绝 HTTP 429(请求过多) 回应。
注意
Deribit 网页每个用户会话使用 2 个活跃连接。在设计高频或多选项卡集成时请记住这一点,以避免无意中超过限制
会话不仅限于单个连接,还代表用户与服务器之间的交互时期,可能跨越多个连接。用户可以使用进行身份验证 session:name 作用域将他们的连接与命名会话绑定。
-
优先订阅而不是 REST 投票
-
不要像 REST 一样使用 WebSocket
-
避免使用以下模式:
打开会话 → 读一次 → 关闭 → 重复。
这效率低下,可能会导致 连接混乱 和节流。
-
相反, 保持会话处于打开状态 然后使用 实时订阅 或批量请求。
-
-
尽可能使用经过身份验证的请求
-
即使是公共数据,也更喜欢 经过验证的 WebSocket。
-
经过身份验证的用户将受益于 更高的速率限制 而且是 受到 IP 速率限制的可能性较小 或已断开连接。
-
如果发现任何滥用或滥用,我们 主动伸出援手 在采取限制性措施之前,先向经过身份验证的客户端。
-
-
避免连接过载
-
订阅 一次频道太多了 可能会导致
connection_too_slow错误。这发生在客户端 无法足够快地读取所有传入事件,导致 积压 待处理消息的数量。 -
为避免断开连接:
-
仅订阅必要的频道。
-
确保您的客户高效、持续地读取和处理消息。
-
-
中的断开连接时取消 (COD) 功能 API 支持两种类型的范围设置:连接和帐户。请注意,不支持通过 HTTP 在断开连接时取消。
-
连接范围: 当将 COD 设置为连接时,它仅适用于通过其设置的特定连接。此设置不影响任何其他现有或未来的连接。如果需要,每个连接都必须单独启用 COD。
-
账户范围: COD 范围设置为账户可将该功能扩展到设置该功能的初始连接,并自动将其应用于在同一账户下建立的所有后续连接。这样可以确保默认情况下为新连接启用 COD,而无需为每个连接单独设置。
提示
为了提高 COD 触发的可靠性,建议 启用心跳 在你的 WebSocket 连接上。心跳使平台能够更快地检测到过时或断开的连接,并在需要时更快地激活 COD
启动与的会话后 Logon (A) 消息,用户可以选择使用 Tag 9001 为该会话启用或禁用 “断开连接时取消”。稍后,在注销时,他们可以使用以下命令覆盖此设置 Tag 9003.