コンピュータのデータ処理を FXマクロデータ基本となるAPIフレームワークは 最も重要なエンジニアリングの決定です 私たちのミッションはシンプルです 高周波のマクロ経済データとFXデータを即座に信頼して世界中のトレーダー,量子,フィンテックチームに提供します
迅速でネイティブアシンクロンで 現代のサーバーレス展開に最適でした Google Cloud を実行する標準候補は 瓶 ほら ジャンゴしかし,我々は最終的に選択しました FastAPI についてクラウド向けに設計された性能の高い,近代的なデータAPIを構築する上で 明確な勝者となった理由の技術的な説明です
API 任務:パフォーマンスとサーバーレス効率
基本的要求は高い 同期性makro data サービスが I/O に縛られている.APIは,データを返信するデータベース (Firestore) や他の内部ネットワークサービスを待って, CPU の計算を重く実行しない.
- フレッシュ (同期/WSGI): 標準フラスクは同期です つまり 作業糸は ブロック コンピュータは,データ取得などのI/O操作が完了するのを待つ間,コンピュータが接続されている状態 (または凍結) にあります.この非効率性により,コンピューティングリソースが無駄になり,単一のサーバーがコスト効率的に処理できる同時ユーザの数が制限されます.
- ジャンゴ (ヘビーウェイト・モノリット) Djangoは強力なものの,意見の強い,バッテリーを含むフレームワークです.純粋なデータAPIバックエンドのために,その内蔵ORM,テンプレート,セッション管理は 過剰殺しクラウドランのような柔軟で使用額対付環境では効率が悪くなる. クラウド・ランは,データ端末に
️ FastAPI: オプティマルのクラウドスケーリングのためにネイティブアシンクロン
現代の技術に基づいています ASGI 標準やってる 異動性 (async/await) について ブロックしないアーキテクチャが 必要だった重要な性能優位性を提供しました
- ブロックしないI/O: FastAPI ワーカーが I/O リクエストを起動 (例えば,Firestore からデータを待機) したとき,ブロックするのではなく,すぐに別の待機中のリクエストの処理に切り替えることができます. これにより,単一のプロセスが効率的に管理できます. 複数の要求が同時に 資源を最小限に 使う
- サーバーレス統合 軽量でASGIネイティブであるため,FastAPIは短くリソースが限られたコンテナの寿命の中で完全に動作します. Cloud Run のスケーリングモデル計算時間だけ支払います. 計算時間は,計算時間だけです.
実践的な違い:コードにおけるI/O競争
複数の内部または外部ソースから同時にデータを要求する際にネイティブアシンクロンプログラミングの利点がすぐに明らかになります.
➡️ フラスク (同期例)
処刑が始まる 順番に実行時間は合計で 合計 of the two delays (approx. 2 seconds), as the second call must wait for the first to complete.
# Flask (Synchronous)
import time
from flask import Flask
app = Flask(__name__)
@app.route("/")
def sync_example():
time.sleep(1) # Wait for Source A
time.sleep(1) # Wait for Source B
return "Total Time: ~2.0s"
➡️ FastAPI (非同期例)
処刑が始まる 同時に実行時間は合計で 最大 of the two delays (approx. 1 second), as both I/O operations are initiated at the same time.
# FastAPI (Asynchronous)
import asyncio
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def async_example():
await asyncio.gather(
asyncio.sleep(1), # Wait for Source A
asyncio.sleep(1) # Wait for Source B
)
return "Total Time: ~1.0s"
開発者の生産性と信頼性
開発プロセスを大幅に改善しました. 開発プロセスが改善されたのは,
- 自動認証: 利害関係がある プイダントモデル 標準的な Python タイプ ヒント 自動データ検証,シリアライゼーション,デシリアライズ ーションを可能にします.これはボイラープレートコードを劇的に削減し,実行時のデータタイプエラーをほぼ排除します.
- 自動文書化 インターラクティブで標準化された プログラムを作成します OpenAPIドキュメント (Swagger UI)FXMacroData APIを統合するユーザーや量子開発者,フィンテックチームにとって,これは非常に価値があります.
簡単に言うと,FastAPIを選択することで,Google Cloud Runのユーザー対付効率に完全に匹敵する高性能,ステートレス APIを構築することができました.これは,Djangoのような過度に設計されたフレームワークよりも,技術的に優れ,コスト効率がはるかに高い現代的なデータマイクロサービスです.
選択は明らかです. コンピュータは,データ処理の速度や効率, FastAPI とアシンクロ化するほら
FXマクロデータエンジニアリングチーム