作成者:
Shannon Kurtas 氏、プロダクト ディレクター、プロ & インスティテューショナル トレーディング
Max Kaplan 氏、シニア エンジニアリング ディレクター、コア インフラストラクチャおよびデータ エンジニアリング
Suketu Gandhi 氏、シニア エンジニアリング ディレクター、トレーディング テクノロジー
Steve Hunt 氏、VP エンジニアリング
ほぼ 220 年前、Kraken は、最初で最も成功したデジタル資産取引所の 67 つになるという先駆的な使命を開始しました。 700 つの仮想通貨のみの取引を開始しましたが、現在では XNUMX のブロックチェーンで XNUMX を超える資産と XNUMX を超える市場をサポートしています。
私たちは急速に成長しました。 ブロックチェーン技術、セキュリティ、ネットワーキング、インフラストラクチャ、および取引システムの専門家を含む製品およびエンジニアリング チームのおかげで、膨大な需要に対応することができました。
業界が成熟し、進化するにつれて、顧客ベースの規模と性質も変化しています。 個人投資家やトレーダーへのサービスは引き続き提供していますが、 クラーケン および クラーケンプロ プラットフォーム、私たちの注文フローの成長部分は、アルゴリズムを介して到着します 私たちのAPI プロおよび機関のクライアントから。 これらには、企業、ヘッジファンド、自己勘定取引会社、プライムブローカー、フィンテック、およびクラーケンの深い流動性に依存する他の取引所が含まれます。
当社の取引システムは、これらの需要の増加に対応するために拡張する必要がありました。特に、実行コストを改善し、市場リスクを管理し、取引機会を活用するために、速度、安定性、稼働時間に大きく依存するシステムの場合はそうです。 私たちは、最優先事項を妥協することなく、これらすべてを達成しました — セキュリティ.
本日、私たちは最近の取り組み、成功、およびそのスケーリングの結果の一部を紹介できることをうれしく思います。
パフォーマンスの優位性
私たちは、実際の過酷な条件下でシステムのパフォーマンスを監視して理解するために、コードのインストルメント化に重点を置いています。 また、競合ベンチマークを使用して、時間の経過とともにどのように積み上げられるかを確認しています。 それらの結果のいくつかを調べてみましょう。
速度と待ち時間
レイテンシの形で取引速度を測定します。 レイテンシーはラウンドトリップ遅延であり、クライアント システムによって送信された取引要求 (注文の追加など) と取引所によって承認されるまでの時間として定義されます。
従来の取引所とは異なり、仮想通貨取引所は一般的に地理的に集中しておらず、完全なコロケーションを提供していません。 多くの場合、それらは完全にクラウドベースです。
遅延に敏感なクライアントは、会場に物理的に最も近い場所にコードをデプロイします。 したがって、公正な比較には、その特定の会場に最も関連する地域からのレイテンシの測定が含まれます。
遅延は、単一のクライアントと取引所の間の永続的な接続であっても、取引リクエストごとに異なります。 これは、インターネットベースの取引の違いと変動性、および取引所が負荷を処理する方法によるものです。 したがって、レイテンシについては、数値ではなくパーセンタイルで説明する必要があります。 たとえば、P25 レイテンシは 25 パーセンタイル レイテンシを指します。 言い換えれば、25ms の P5 は、特定のサンプリング時間枠内のすべての取引リクエストの 25% が 5ms 以上のレイテンシーを持っていたことを意味します。
ここでは、先月のベースライン測定中に、場所に対して正規化された、さまざまな地域のいくつかの上位競合他社に対する Kraken のベスト パス P25 レイテンシを示しています。
約 2.5 ミリ秒のベースライン ラウンドトリップ レイテンシは、97 年第 1 四半期と比べて 2021% 以上改善されています。
安定性
前述のように、高負荷下での実際のパフォーマンスは、最高の場合のパフォーマンスや絶対的なレイテンシの数値と同じか、それ以上に重要です。
実行コストの改善、スリッページの削減、および市場リスクの管理は、 変動性 各取引リクエスト間の待ち時間。 これを変動性ジッターと呼び、同じサンプリング タイム フレームの異なるレイテンシ パーセンタイル値の差を測定します。
P25 および P95 レイテンシでジッターを測定することにより、かなりの範囲のパフォーマンスと観測された動作を経時的に捉えることができます。 たとえば、5 年 12 月 2022 日から XNUMX 日の週、FTX の不況と最終的な閉鎖により市場のボラティリティが深刻だった時期に、当社のジッターがより広範な上位の競合他社とどのように積み重なったかを測定しました。
ここでは、ボラティリティと負荷が劇的に増加したにもかかわらず、取引インフラストラクチャがどのように非常にうまく機能したかを確認できます。 このジッターが 30 ミリ秒を超えた週は一度もありませんでした。 一方、他の多くの交換では、定期的に数百ミリ秒に達するか、垂直のスパイクで示されるようにリクエストが完全にタイムアウトしました。
スループット
スループットは、一定時間内に取引所によって処理された成功した取引要求 (注文の追加、注文のキャンセル、注文の編集など) の数を反映しています。
レイテンシーと同様に、理論的または観察された用語でスループットについて説明します。
観察されたスループットは、レート制限を含む多くの相互に関連する要因を反映しているため、より関連性があります。 これらの制限を設定して、DDoS 攻撃を防ぎ、トラフィックを理論上の制限内に快適に保ちます。 顧客ベースの規模、一般的な市場の需要、注文フロー (価格の変動性と他の場所での取引活動によって大きな影響を受ける)、および負荷がかかった状態でのパフォーマンス (一定レベルのサービス低下を超えると、クライアントは自分の要求を調整し始めるため) のすべてが影響します。これらの制限。
ここでは、4 年第 1 四半期から 2021 年第 1 四半期にかけて観測された最大スループットが 2023 倍以上向上したことを示しています。この変化は、250 リクエスト/分から 1mm リクエスト/分以上への変化であり、このレベルと劇的なパフォーマンスの間にはかなりの余裕があります。理論上の最大スループットが向上しました。
稼働時間
今年は、計画メンテナンスによるダウンタイムを最小限に抑え、予定外のダウンタイムの頻度と影響を減らし、アップタイムに悪影響を与えることなく、機能の更新とパフォーマンスの改善の速度を速めるよう努めました。
これらの変更には、24 時間年中無休で運用されるますます成熟した大規模な運用レジリエンス チームなど、技術面と運用面の両方の改善が含まれていました。
2021 年の最悪の月のアップタイムは 99% 近くでしたが、これらの改善により、より積極的なエラー バジェットと 99.9+% の取引アップタイム ターゲットを設定できるようになりました。
尽力
ブルー/グリーンおよびローリング展開
私たちは、 ブルー/グリーン展開戦略 APIゲートウェイと多くの内部サービス全体で。 これを非常に単純化した図を図 6 に示します。複数の本格的なコード スタックを並行して操作することで、現在クライアント トラフィックを受信しているメイン スタックを妨害することなく機能をデプロイできます。 その後、トラフィックを新しいスタックに再ルーティングして、影響のない展開を実現したり、問題が発生した場合に非常に迅速なロールバック手順を実行したりできます。 さらに、負荷分散のために複数のインスタンスを操作する多くのサービスでは、これらのインスタンスの更新は、すべてかゼロかではなく、ローリング ベースで行われます。 これらのアプローチにより、技術スタックの大部分に対して影響を与えず、より頻繁に更新を行うことができるようになりました。
コードとしてのインフラストラクチャ
クラーケンは大きく活用 コードとしてのインフラストラクチャ(IaC) テラフォーム および 遊牧民、主にすべてのコード展開の一貫性と再現性を保証します。 継続的インテグレーションと継続的デリバリーを使用して Terraform リポジトリを自動化し、変更を迅速かつ確実にロールアウトできるようにします。 過去 XNUMX 年間、私たちは IaC を使用して新しいインフラストラクチャをデプロイしてきました。現在、ほぼすべてのインフラストラクチャでこのパターンが使用されています。 この移行は大きなマイルストーンであり、クラウドベースとオンプレミスの両方のアプリケーションに IaC を活用しています。
コネクティビティとネットワーキング
AWS とオンプレミス データセンター間のプライベート接続を活用しています。 この接続により、Kraken は可能な限り低いレイテンシー、可能な限り高いセキュリティ、および冗長パスを保証して、常に AWS にアクセスできるようにします。 最近のネットワークとルーティングの改善により、上記で強調したベースラインのラウンドトリップ トレーディング レイテンシの大幅な削減が可能になりました。
インストルメンテーションとテレメトリー
きめの細かい正確なロギング、メトリクス、およびリクエスト トレースにより、予期しないボトルネックやパフォーマンスの問題をリアルタイムで迅速に特定、診断、解決できるようになりました。 このテレメトリと独自の競合モニタリングに加えて、API レイテンシと稼働時間の指標も最近更新しました。 status.kraken.com 一般に、クライアントが経験したこれらの数値をより正確に反映するために、外部モニターの展開を使用します。
最適化された API デプロイメント
当社の API と取引スタックは、Websocket または REST API を介してアルゴリズム的に取引する数万の接続をいつでもサポートしています。 何十万もの追加の接続が、新しい高性能な クラーケンプロ プラットホーム。 これらのプラットフォームは、この投稿で説明されている主要な取引インフラストラクチャの利点の多くを享受していますが、ワークロードは根本的に異なり、要件も異なります。 特定のデータ フィード、圧縮、スロットリング、アグリゲーションなどを使用して、UI プラットフォームをサポートする特注の API 展開により、速度をさらに向上させ、無駄な帯域幅を減らし、全体的なクライアント容量を増やすことができました。
コアコードの改善
コアサービスを再設計することで、スタック全体でさまざまな劇的な改善を行いました。 さび および C++。 これらの変更により、可能な場合は非同期メッセージングとデータ永続化の使用が増加し、より多くの CI/CD パイプラインに堅牢なパフォーマンス プロファイリングを構築するのに役立ちます。 また、静的および動的コード分析に最もよく知られている方法を採用することもできます。 これらの改善のいくつかは、マッチング エンジンの平均レイテンシがミリ秒から マイクロ秒. これは、90 倍以上のスループットをサポートしながら、4 年前と比較して XNUMX% 以上の改善です。
次は何ですか?
ネイティブ FIX API
また、スポット マーケット データと取引用のネイティブ FIX API もまもなくリリースされます。 Financial Information Exchange の略である FIX は、強力で包括的かつ柔軟な業界標準 API であり、多くの機関が株式、FX、および債券を大規模に取引するために使用しています。 これは、幅広いサードパーティ ソフトウェアとオープン ソース サポートを備えた、信頼性が高く実績のあるプロトコルであり、機関が Kraken と統合して取引を開始することをより簡単かつ迅速にします。
Kraken のネイティブ FIX API には、Websocket および REST API に関連するアーキテクチャ上のニュアンスと利点もあります。これには、セッションベースの切断時のキャンセル、順序どおりのメッセージ配信の保証、セッションの回復、およびリプレイが含まれます。 当社の FIX API は現在ベータ テスト中です — 届く タイヤを蹴るのを手伝いたいなら!
ゼロ ダウンタイム マッチング エンジンの導入
私たちは、API ゲートウェイとさまざまなバックエンド サービス (認証、監査、テレメトリなど) のゼロ インパクト デプロイの頻度を大幅に増やしました。 ただし、マッチング エンジンの重要な更新には、メンテナンスのスケジューリングと短いダウンタイムが必要であり、これはほぼ隔週で実行されます。
しかし、私たちのチームは、社内のメッセージング システムの一部をマルチキャスト テクノロジで再設計するために多大な努力を払いました。 アーロンは、フォールト トレラントな高可用性システム向けの非常に高性能で堅牢なツール スイートです。 この結果、2023 年後半に利用可能になる、トレーディング スタック全体でのゼロ ダウンタイムの計画的展開が実現します。
助けが必要? 手を差し伸べる
メールアドレスを使用して、アカウント管理および機関営業チームに連絡してください これらの更新の詳細を確認したり、取引接続を最適化する方法について話し合ったり、FIX API などの今後の機能のベータ テストを行ったりするには、.
さらに証拠が必要ですか? 目を離さず、最新情報を購読してください status.kraken.com 計画されたメンテナンス、サービス情報、待ち時間と稼働時間の統計について。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- Platoblockchain。 Web3メタバースインテリジェンス。 知識の増幅。 こちらからアクセスしてください。
- 情報源: https://blog.kraken.com/post/17936/performance-at-kraken/
- :は
- $UP
- 2021
- 2022
- 2023
- 250K
- 67
- 7
- 9
- a
- できる
- 私たちについて
- 上記の.
- 絶対の
- アカウント管理
- 正確な
- 正確にデジタル化
- 達成
- 越えて
- アクティビティ
- 住所
- 影響を及ぼす
- 凝集
- 積極的な
- アルゴリズム的に
- すべて
- ことができます
- 量
- 分析
- および
- API
- API
- アプローチ
- 建築の
- です
- 到着
- AS
- 資産
- 資産
- At
- 攻撃
- 監査
- 認証
- 自動化する
- 賃貸条件の詳細・契約費用のお見積り等について
- 利用できます
- 平均
- AWS
- バックエンド
- 帯域幅
- ベース
- ベースライン
- 基礎
- BE
- になる
- 始まった
- 始まる
- さ
- ベンチマーク
- 利点
- BEST
- ベータ
- より良いです
- の間に
- 越えて
- ブロックチェーン
- blockchain技術
- ブロックチェーン
- 広い
- より広い
- ブローカー
- 予算
- ビルド
- by
- C + +
- コール
- 缶
- 容量
- 資本化する
- キャプチャー
- キャリー
- 場合
- 例
- センター
- 一定
- 変化する
- 変更
- チャート
- クライアント
- クライアント
- 閉じる
- コード
- 来ます
- 比較
- 競争力のある
- 競合他社
- 包括的な
- 妥協する
- 濃縮
- 条件
- プロフェッショナルな方法で
- 確認します
- 接続
- Connections
- 接続性
- 続ける
- 連続的な
- 基本
- 法人
- 費用
- コスト
- クリプト
- 暗号通貨
- 現在
- データ
- データセンター
- DDoS攻撃
- 十年
- 深いです
- 遅らせる
- 喜んで
- 配達
- 需要
- 需要
- 依存
- 展開します
- 展開
- 展開
- 配備
- 記載された
- にもかかわらず
- DID
- 違い
- の違い
- 異なります
- デジタル
- デジタル資産
- 取締役
- 話し合います
- 苦痛
- ドント
- ダウンタイム
- 劇的に
- 劇的に
- 落ちる
- 間に
- ダイナミック
- e
- 各
- 容易
- 努力
- 努力
- どちら
- 他の場所で
- 強調
- 使用可能
- エンジン
- エンジニアリング
- 完全に
- 普通株
- エラー
- 等
- さらに
- 進化
- 例
- 超えます
- 交換
- 交換について
- 実行
- 経験豊かな
- 専門家
- 探る
- 外部
- 非常に
- 目
- 要因
- フェア
- 特徴
- 特徴
- フィギュア
- フィギュア
- ファイナンシャル
- 財務情報
- フィンテック
- 企業
- 名
- 修正する
- 固定の
- 固定収入
- フレキシブル
- フロー
- フォーム
- 今度の
- FRAME
- 周波数
- 頻繁な
- から
- FTX
- フル
- 根本的に
- 資金
- さらに
- さらに
- FX
- 一般に
- 与えられた
- Go
- 成長
- 成長した
- 成長性
- 保証
- 保証
- ハンドリング
- 起こる
- 持ってる
- ヘッドルーム
- 重く
- ヘビー
- ヘッジ
- ヘッジファンド
- 助けます
- ハイ
- 最高
- 特徴
- 強調表示された
- 認定条件
- How To
- HTTPS
- 何百
- 識別する
- 影響
- 影響を受けた
- 重要
- 改善します
- 改善されました
- 改善
- 改善
- in
- その他の
- include
- 含まれました
- 含ま
- 含めて
- 所得
- 増える
- 増加した
- の増加
- ますます
- 示された
- 個人
- 産業を変えます
- 情報
- インフラ関連事業
- 制度の
- 機関投資家
- 機関
- 統合する
- 統合
- 内部
- インターネットベース
- 主要株主
- 問題
- IT
- ITS
- キープ
- キック
- 既知の
- クラーケン
- 大
- 姓
- レイテンシ
- 発射
- 主要な
- LEARN
- ことができます
- レベル
- 活用します
- ような
- 制限
- 流動性
- 負荷
- 場所
- 製
- メイン
- メンテナンス
- 主要な
- 大多数
- make
- 作成
- 管理します
- 管理
- 管理する
- 多くの
- 市場
- 市場データ
- 市場のボラティリティ
- マーケット
- 大規模な
- マッチング
- 材料
- 成熟した
- 最大幅
- 手段
- その間
- だけど
- 計測
- 大会
- 言及した
- メッセージ
- メッセージング
- メソッド
- メトリック
- マイルストーン
- 最小化
- 最小
- ミッション
- 瞬間
- モニター
- モニタリング
- 月
- 他には?
- 最も
- MS
- の試合に
- ネイティブ
- 自然
- ほぼ
- マイナスに
- ネットワーキング
- 新作
- 次の
- 11月
- 数
- 番号
- of
- 提供
- on
- ONE
- 開いた
- オープンソース
- 操作する
- 動作
- オペレーティング
- オペレーショナル
- 運用回復力
- 機会
- 最適化
- 注文
- その他
- 全体
- 自分の
- 並列シミュレーションの設定
- 部
- 特に
- パーティー
- 過去
- path
- パターン
- パフォーマンス
- 持続性
- 物理的に
- 先駆者
- 計画されました
- プラットフォーム
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポイント
- 可能
- ポスト
- 強力な
- 防ぐ
- ブランド
- 素数
- 事前の
- 優先順位
- プライベート
- Pro
- プロダクト
- プロ
- プロファイリング
- 証明
- 所有権
- 保護された
- 目的
- 置きます
- Q1
- クイック
- より速い
- すぐに
- 範囲
- レート
- むしろ
- リーチ
- 達した
- 現実の世界
- への
- 受け入れ
- 最近
- 最近
- 回復
- 減らします
- 縮小
- 指し
- 反映する
- 反映
- 地域
- 地域
- 定期的に
- 関連した
- 表し
- 要求
- リクエスト
- 必要とする
- 要件
- 回復力
- REST
- 結果
- 結果
- リスク
- 堅牢な
- ロール
- 圧延
- 大体
- セールス
- 同じ
- 規模
- スケーリング
- スケジューリング
- セキュリティ
- シリーズ
- 役立つ
- サービス
- サービス
- セッション
- セッションに
- いくつかの
- すべき
- shutdown
- 重要
- 簡略化されました
- から
- サイズ
- スリッページ
- So
- ソフトウェア
- 一部
- ソース
- 特定の
- スピード
- スパイク
- Spot
- スポット市場
- 安定性
- スタック
- 積み上げ
- スタック
- スタンド
- start
- 開始
- 統計
- まだ
- 申し込む
- 成功した
- そのような
- スイート
- サポート
- 支援する
- システム
- ターゲット
- チーム
- チーム
- テク
- 技術的
- テクノロジー
- 条件
- テラフォーム
- test
- テスト
- 感謝
- それ
- アプリ環境に合わせて
- 理論的な
- したがって、
- ボーマン
- 三番
- 数千
- 介して
- スループット
- 時間
- 時系列
- Timed
- <font style="vertical-align: inherit;">回数</font>
- 〜へ
- 今日
- 豊富なツール群
- top
- トレーシング
- トレーダー
- トレーディング
- 伝統的な
- トラフィック
- 信頼されている
- ui
- 究極の
- 下
- わかる
- 予期しない
- 更新しました
- 更新版
- uptime
- us
- つかいます
- さまざまな
- 広大な
- 速度
- 会場
- 会場
- 対
- 、
- ボラティリティ(変動性)
- vs
- よく見る
- 週間
- WELL
- which
- while
- 意志
- 以内
- 無し
- 言葉
- 最悪
- でしょう
- 間違った
- 年
- 年
- You
- あなたの
- ゼファーネット