全球区块链监管查询平台

简体中文
下载WikiBit

为未来十年的增长扩展 Kraken 的交易基础设施

TOK

相关类型: 其它

2023-04-06 22:57

大约 12 年前,Kraken 开始了其开创性使命,成为最早也是最成功的数字资产交易所之一.我们开始时只交易四种加密货币,但现在我们支持 67 个区块链和 700 多个市场上的 220 多种资产.我们成长得很快.感谢我们的产品和工程团队——包括区块链技术、安全、网络、基础设施和交易系统方面的专家——我们能够满足巨大的需求.随着行业的成熟和发展,我们客户群的规模和性质也在不断发展.在我们继续通过我们的Kraken和Kraken Pro平台为个人投资者和交易者提供服务的同时,我们越来越多的订单流通过我们的 API从专业和机构客户那里通过算法到达.其中包括公司、对冲基金、自营交易公司、主要经纪商、金融科技公司以及其他依赖 Kraken 深度流动性的交易所.我们的交易系统必须扩展以满足这些不断增长的需求,特别是对于那些严重依赖速度、稳定性和正常运行时间以降低执行成本、管理市场风险和利用交易机会的系统.我们实现了所有这一切,而没有损害我们的第一要务——安全.今天,我们很高兴地强调我们最近的一些努力、成功和扩展的结果.性能至上我们非常重视检测代码,以观察和了解我们在繁重的真实条件下的系统性能.我们还采用竞争性基准来确认我们如何随着时间的推移积累.让我们探讨其中的一些结果.速度和延迟我们以延迟的形式衡量交易速度.延迟是往返延迟,我们将其定义为客户端系统发送交易请求与交易所确认之间的时间.与传统交易所不同,加密场所的地理位置通常不那么集中,并且不提供完全托管.在许多情况下,它们完全基于云.对延迟敏感的客户将在物理上最接近场地的任何地方部署代码.因此,公平的比较包括测量与该特定场所最相关的区域的延迟.交易请求之间的延迟也会有所不同,即使是在单个客户端和交易所之间的持久连接上也是如此.这是由于基于互联网的交易的差异和可变性,以及交易所处理负载的方式.因此,我们必须根据百分位数而不是单个数字来讨论延迟.例如,P25 延迟是指第 25 个百分位延迟.换句话说,5 毫秒的 P25 意味着给定采样时间范围内 25% 的所有交易请求的延迟为 5 毫秒或更短.在这里,您可以看到 Kraken 的最佳路径 P25 延迟与我们在不同地区的一些顶级竞争对手的对比,在上个月的基线测量中针对位置进行了标准化. 我们的基准往返延迟约为 2.5 毫秒,与 2021 年第一季度相比改善了 97% 以上. 稳定如前所述,重负载下的实际性能与最佳情况下的性能和绝对延迟数据一样重要,甚至更重要.改善执行成本、减少滑点和管理市场风险取决于最小化每个交易请求之间的延迟可变性.我们称这种可变性抖动,我们测量相同采样时间帧的不同延迟百分位数字之间的差异.通过使用 P25 和 P95 延迟测量抖动,我们可以随时间捕获显着范围的性能和观察到的行为.例如,我们衡量了在 2022 年 11 月 5 日至 12 日这一周,我们的抖动如何与更广泛的顶级竞争对手相提并论,当时由于 FTX 的困境和最终关闭,市场波动剧烈.在这里,您可以看到我们的交易基础设施如何表现得异常出色,尽管波动性和负载急剧增加.在一周内,这种抖动从未超过 30 毫秒.同时,对于许多其他交易所,它经常达到几百毫秒,或者请求完全超时,如垂直尖峰所示. 吞吐量吞吐量反映了交易所在给定时间内处理的成功交易请求的数量.与延迟类似,我们以理论或观察的方式讨论吞吐量.观察到的吞吐量更相关,因为它反映了许多相互关联的因素,包括速率限制.我们设置这些限制是为了防止 DDoS 攻击并将流量轻松控制在理论限制内.客户群的规模、一般市场需求、订单流和负载下的性能都会影响这些限制.在这里,我们说明了在 2021 年第一季度和 2023 年第一季度之间,我们观察到的最大吞吐量提高了 4 倍以上.这一变化是从 250k 请求/分钟到超过 1mm 请求/分钟,并且在这个水平和我们的显着水平之间还有很大的空间改进的理论最大吞吐量. 正常运行时间今年,我们努力将计划内维护造成的停机时间降至最低,减少计划外停机的频率和影响,并在不对正常运行时间产生负面影响的情况下提高功能更新和性能改进的速度. 这些变化包括技术和运营方面的改进,例如 24/7 全天候运营的日益成熟和庞大的运营弹性团队.虽然我们在 2021 年最糟糕的月份的正常运行时间接近 99%,但这些改进使我们能够设定越来越激进的错误预算和 99.9% 以上的交易正常运行时间目标.努力蓝/绿和滚动部署我们在 API 网关和许多内部服务中越来越多地使用蓝/绿部署策略.您可以看到图 6 中突出显示的非常简化的说明.通过并行操作多个成熟的代码堆栈,我们可以在不干扰当前接收客户端流量的主堆栈的情况下部署功能.之后,流量可以重新路由到新堆栈,从而实现零影响部署,或者在出现任何问题时进行非常快速的回滚过程.此外,对于我们出于负载平衡目的运行多个实例的许多服务,对这些实例的更新是滚动发生的,而不是全有或全无.现在,这些方法使我们能够对绝大多数技术堆栈进行零影响和更频繁的更新. 基础架构即代码Kraken 大量利用基础设施即代码 与Terraform和Nomad ,在很大程度上保证所有代码部署的一致性以及可重复性.我们通过持续集成和持续交付来自动化我们的 Terraform 存储库,因此我们可以快速可靠地推出更改.在过去的两年里,我们使用 IaC 部署了新的基础设施,现在我们几乎所有的基础设施都使用这种模式.此举是一个重要的里程碑,我们将 IaC 用于基于云的应用程序和本地应用程序.连通性和网络我们利用 AWS 和我们的本地数据中心之间的私有连接.这种连接使 Kraken 能够保证我们拥有尽可能低的延迟、尽可能高的安全性和冗余路径,以确保我们可以随时连接到 AWS.最近的网络和路由改进已经实现了上面强调的基线往返交易延迟减少的重要部分.仪器和遥测细粒度和准确的日志记录、指标和请求跟踪使我们能够实时快速识别、诊断和解决任何意外的瓶颈和性能问题.除了遥测和我们自己的竞争性监控之外,我们最近还在status.kraken.com上更新了我们的 API 延迟和正常运行时间指标,并部署了外部监控器,以便更准确地反映客户体验到的这些数字.优化的 API 部署在任何给定时刻,我们的 API 和交易堆栈都支持数以万计的连接通过我们的 Websockets 或 REST API 进行算法交易.数十万个连接来自我们的 UI 平台,包括我们新的高性能Kraken Pro平台.虽然这些平台获得了本文中描述的许多相同的核心交易基础架构优势,但工作负载根本不同并且有不同的要求.定制的 API 部署支持我们的 UI 平台,具有特定的数据馈送、压缩、节流、聚合等,使我们能够进一步提高速度并减少带宽浪费,从而提高整体客户端容量.核心代码改进通过用Rust和 C++重新设计核心服务,我们对整个堆栈进行了一系列进一步的、显着的改进.这些更改在可能的情况下更多地使用异步消息传递和数据持久性,并帮助我们在更多的 CI/CD 管道中构建强大的性能分析.它们还让我们可以使用最著名的方法进行静态和动态代码分析.其中几项改进最终使匹配引擎的平均延迟从毫秒降至微秒.这与两年前相比提高了 90% 以上,同时支持超过 4 倍的吞吐量. 下一步是什么?本机修复 API我们还将很快推出用于现货市场数据和交易的本地 FIX API. FIX 代表金融信息交换,是一个功能强大、全面但灵活的行业标准 API,许多机构使用它来大规模交易股票、外汇和固定收益.这是一个值得信赖且经过实战检验的协议,具有广泛的第三方软件和开源支持,使机构能够更轻松、更快速地与 Kraken 集成并开始交易. Kraken 的原生 FIX API 还具有与我们的 Websockets 和 REST API 相关的架构细微差别和优势,包括基于会话的断开连接取消、保证按顺序消息传递、会话恢复和重播.我们的 FIX API 目前正在进行 Beta 测试 - 如果您想帮助解决问题,请联系我们!零停机匹配引擎部署我们在 API 网关和各种后端服务的零影响部署频率方面取得了重大进展.但是,我们匹配引擎的材料更新仍然需要安排维护和短暂的停机时间,我们大约每两周进行一次.然而,我们的团队付出了巨大的努力,使用多播技术重新设计了我们的一些内部消息系统,利用Aeron ,这是一套用于容错高可用性系统的性能极佳且功能强大的工具.其结果将是跨交易堆栈的零停机计划部署,将于 2023 年晚些时候推出.需要帮忙?伸手请使用电子邮件地址[email protected]联系我们的账户管理和机构销售团队,以了解有关这些更新的更多信息,讨论如何优化您的交易连接,或测试即将推出的功能,如我们的 FIX API.需要更多证据吗?密切关注并订阅status.kraken.com上的更新,了解任何计划维护、服务信息以及延迟和正常运行时间统计数据. 开始使用 Kraken 分享这个: 推特.领英.红迪网.电报.WhatsApp的.Facebook ..像这样:喜欢加载... 相关文章: Kraken 的 2022 年回顾. 氧化 Kraken:使用 Rust 改进 Kraken 基础设施. 超越图表和 TA:交易策略和方法论. 宣布 Kraken 1 亿美元以上的交易量费用等级试用.