メインコンテンツへスキップ
Benzinga は、世界中のアプリケーションやサービスにリアルタイムの金融データを配信するために設計された、堅牢で高いスケーラビリティを備えた API 基盤を提供しています。速度と可用性を重視した Benzinga のアーキテクチャは、ユーザーが必要なときに常に信頼性が高く低レイテンシなデータを受け取れるよう、Go (Golang)KafkaウェブソケットElasticsearchマイクロサービス などの最新技術を活用しています。

Go と Kafka による高パフォーマンスなアーキテクチャ

高い並行性と高速性を持つ Go (Golang) を用いて構築された Benzinga のインフラストラクチャは、大量の金融データのトラフィックを効率的に処理します。データパイプラインとリアルタイムストリーミングは Kafka によって支えられており、最小限のレイテンシでの高速なデータ取り込み、処理、および配信を実現しています。このアーキテクチャにより、グローバルな展開においてもスケーラビリティと堅牢性が確保され、リアルタイム金融データ配信の要件を満たします。
AWS Architecture

画像をクリックすると拡大表示されます。

ウェブソケットおよび REST API によるリアルタイムデータアクセス

Benzinga の API は WebSocketREST の両プロトコルをサポートしており、クライアントはリアルタイムデータへのアクセスだけでなく、オンデマンドでのリクエスト送信も行えます。WebSocket 接続は、リアルタイムのマーケットクオートや取引データなど、継続的なデータフィードを必要とするアプリケーションに最適であり、一方 REST API は、過去データ、企業ファンダメンタルズ、ニュース、アナリティクスといった幅広いリクエストに対応します。

API の特長

  • リアルタイム市場データ: リアルタイムの気配値(クォート)、約定、その他の主要な市場データをストリーミング配信できます。
  • ヒストリカルデータ: バーデータ、気配値、市場パフォーマンスなどを含む過去データ(ヒストリカルデータ)にアクセスできます。
  • ニュースとインサイト: リアルタイムのニュースや、市場を動かすインサイトを常に把握できます。
  • 企業ファンダメンタルズ: 売上高、利益、主要な比率などの重要な財務指標を取得できます。

Elasticsearch を用いたデータ保存と検索効率

効率的なデータ取得と保存のために、Benzinga は検索およびインデックス作成システムの中核コンポーネントとして Elasticsearch を使用しています。Elasticsearch により、構造化データと非構造化データの両方に高速アクセスでき、ユーザーはヒストリカルデータやニュースアーカイブといった大規模データセットをミリ秒レベルの応答時間でクエリできます。この構成は分析にも対応しており、クライアントはデータから有用なインサイトを抽出・分析できます。
Elasticsearch architecture concept

画像をクリックすると拡大表示されます。

スケーラビリティのためのマイクロサービスベースのインフラストラクチャ

Benzinga のアーキテクチャは マイクロサービスアーキテクチャ に基づいており、各サービスがデータの取り込み、処理、保存、配信などの特定の機能を担当します。このモジュール式アプローチによりスケーラビリティが向上し、各コンポーネントは需要に応じて独立してスケールできます。さらに、マイクロサービス同士は軽量なプロトコルを介して通信するため、システム全体にわたって低遅延と高い耐障害性が確保されます。

画像および静的コンテンツのCDN対応配信

画像、ロゴ、その他の静的アセットを高速に配信するため、BenzingaではCDN(Content Delivery Network)を利用しています。この仕組みにより、静的リソースがユーザーの近くでキャッシュされ、読み込み時間が短縮されてレイテンシが最小化されるため、地理的な場所に関係なく画像やファイルをほぼ瞬時に読み込めます。

Benzinga のアーキテクチャの主な利点

  • スケーラビリティ: 水平スケーリングを前提に設計されており、1 分あたり数百万件のリクエストと、大量の同時ウェブソケット接続をサポートします。
  • 高可用性: 冗長構成と地理的に分散したコンポーネントにより、稼働時間とデータ可用性を確保します。
  • データ整合性: Kafka と Elasticsearch の組み合わせにより、一貫したデータフローとデータ取得が可能で、信頼性の高いフェイルオーバー機構を備えています。
  • 低レイテンシ: Go の性能、Kafka のストリーミング、ウェブソケットのリアルタイム機能を活用し、レイテンシを極力抑えてデータを配信するよう最適化されています。

デプロイの柔軟性とインフラ統合

Benzingaのアーキテクチャは、クライアントの多様なニーズに対応する柔軟なデプロイオプションをサポートしています。
  • マネージドクラウドサービス: シームレスな利用体験を求めるクライアント向けに、Benzingaは自動スケーリングやメンテナンスを含むフルマネージドのクラウドサービスを提供します。
  • セルフホスト型オプション: より細かな制御を必要とする場合、Benzingaのアーキテクチャはオンプレミスデプロイやプライベートクラウド環境に対応でき、データの完全な所有権と各地域の法規制への準拠を確保できます。

エッジキャッシングによるグローバル展開

パフォーマンスをさらに向上させるため、Benzinga はリアルタイムストリームや静的コンテンツを含むデータがユーザーに最小限の遅延で届くよう、エッジキャッシングを採用しています。世界各地に Point of Presence (PoP) を戦略的に配置することで、世界中のクライアントに対して高可用性と低レイテンシを実現しています。 この分散アーキテクチャにより、Benzinga はクライアントの地理的な所在地に関係なく信頼性の高いリアルタイムデータを提供し、ローカルおよびグローバルなユーザー双方のニーズに対応します。
このアーキテクチャは、最新かつスケーラブルな技術を組み合わせることで、高速で信頼性の高い金融データとインサイトを提供し、品質とパフォーマンスへの Benzinga のコミットメントを支えています。より技術的な詳細や API の利用を開始する方法については、Benzinga のサポートチームまでお問い合わせいただくか、ドキュメントをご覧ください。