証券取引所の建物では、毎秒数十のディスプレイ画面がどのように更新されるか知っている人はいますか?
もちろん、サーバーはデータを各画面にプッシュしますが、これはカスタム テクノロジですか、それとも MSMQ のようなよく知られたテクノロジですか?
この種のソフトウェアのアーキテクチャに関する研究論文、本などはありますか?
よろしく
これは一般的にメッセージングと呼ばれていると思います。RabbitMQから:
メッセージングとは何ですか? メッセージングとは、システム間での (メッセージの形式での) データの送受信を表します。メッセージはプログラムまたはアプリケーション間で交換されます。これは、人々が電子メールで通信する方法と似ていますが、配信、速度、セキュリティ、およびスパムがないことが保証されています。
メッセージング インフラストラクチャ (別名メッセージ指向ミドルウェア、別名エンタープライズ サービス バス) を使用すると、開発者は個々のプログラム コンポーネントを切り離して複雑なアプリケーションを簡単に作成できます。メッセージング インフラストラクチャは、直接通信するのではなく、コンポーネント間のデータ交換を容易にします。コンポーネントは、互いのステータス、可用性、または実装について何も知る必要がないため、異種プラットフォームに分散し、必要に応じてオン/オフを切り替えることができます。
このアーキテクチャを採用することで、開発者は関連するさまざまなオペレーティング システムやネットワーク インターフェイスの詳細から切り離され、アプリケーションの相互運用性、スケーラビリティ、および柔軟性が向上します。
一般的な紹介については、メッセージが必要な理由に関するこのプレゼンテーション、または詳細については、ウィキペディアのこのページを参照してください。
メッセージングを実装するための一般的なパラダイムの 1 つは、パブリッシュ/サブスクライブです。TCP でポイントツーポイント通信を使用して実装されている実装もあれば、TCP/UDP でマルチキャストを使用している実装もあります。
リアルタイムの価格を提供する他の金融ソフトウェアを含む証券取引所の表示では、価格はクライアントに定期的に情報を要求させる (ポーリング) のではなく、クライアントにプッシュされます。これは、可能な限りリアルタイムに近い価格を提供するために行われます。
すべての情報提供者 (ロイター、ブルームバーグなど) が独自のクライアント ライブラリやアプリケーションを提供する、独自のソフトウェアになる傾向があります。ほとんどの大手銀行 (または少なくとも私が働いていた銀行) は、Sun エンタープライズ クラス サーバーと Windows トレーディング デスク ワークステーションを使用しています。
彼らは TCP/IP を介してカスタム プロトコルを使用していると思います。各ディスプレイは内部 LAN ネットワークに接続され、必要に応じて情報を要求します。