ミーティング「Java and Linux-Fight for microseconds」に招待します





こんにちは、Habr!



私、アレクセイ・ラゴジン、そして私の同僚であるセルゲイ・ソロキンは、「JavaとLinux-マイクロ秒のための戦い」というトピックに関する公開イベントにあなたを招待します。 このイベントは、8月8日火曜日19:00にドイツ銀行テクノロジーセンターのオフィスで開催されます。 リンク上のすべての詳細と登録。



これが私たちが話したいことです。



電子商取引の分野では、情報システムの応答時間は、しばしば市場での深刻な競争上の優位性です。 市場イベントに対する取引システムの反応の速さにより、銀行は顧客により良いオファーを提供し、金融市場の変動に関連する損失を回避することができます。



多くは、高頻度取引という用語に精通しています。 このクラスでは、応答時間はマイクロ秒単位で計算されますが、このようなシステムの所有コストは非常に高くなります。 専用のネットワーク機器、取引プラットフォームのホスティング上のホスティングサーバー、高度に最適化されたコード-これらはすべて、限られた数の取引システムに対してのみ経済的に正当化されます。



多くの場合、所有コスト、開発速度、およびシステム応答時間の間の合理的なバランスが必要な状況があります。



8月8日にモスクワのDeutsche Bank Technology Centerで開催された会議で、従来のサーバーとLinux + Javaソフトウェアプラットフォームを使用して応答時間を短縮するシステムの開発機能について説明します。 特に、アプリケーション管理システムのアーキテクチャに焦点を当てます。



注文管理システムは、eコマーススタックの重要な部分です。 これは、取引先(クライアント、ブローカー(投資銀行)、および市場)間のメッセージ交換に基づいてビジネストランザクションが記録されるコンポーネントです。



アプリケーション管理システムは、信頼性が高く、耐障害性があり、最小の応答時間を提供する必要があります。



このコンテキストでは、アプリケーションプロセスでイベントを処理するための短い応答時間は数百マイクロ秒(通常は最大1ミリ秒)です(ネットワーク相互作用はカウントされません)。



1秒あたり数千のトランザクションが通過できるシステムからこのような特性を取得することは容易ではありません。



アプリケーション管理システムの従来のアーキテクチャは、従来のJEEとは大きく異なります。 重要なポイントは、クリティカルパスから「遅い」データベースを排除することです。 トランザクション処理のデータはRAMに保存され、ACIDの特性により信頼できるメッセージキューが提供されます。



また、応用ロジックには特別なアプローチが必要です。 リクエストの並列処理は、共通のデータ構造にアクセスする際のスレッド間の同期と競合のコストにつながります。 最小の応答時間を実現するために、イベントはいくつかのステージのパイプラインによって順次処理されます。 各処理段階は個別のストリームによって処理されます。これにより、「競合」を取り除き、同時に複数のプロセッサコアのコンピューティングリソースを使用できます。



最後に、安定した応答時間を得るには、良いコードを書くだけでは十分ではありません。 コンピューティングリソース、プロセッサの省エネモード、メモリ、コンピューティングコアのプロセス間の競合など、アプリケーションコードの影響を受けない要因があります。 Linux OSの特別な調整により、これらのマイナス要因に対処し、アプリケーションの応答時間を大幅に改善できます。



要約すると、このセッションでは、特殊化されていないハードウェア、Java、Linuxで応答時間が短いソリューションを作成する機能について説明します。



じゃあね!



All Articles