0

私たちの組織には、Tandem で (ノンストップで) 実行され、ビジネス ニーズに対応する多数のコード (C、C++、Java) があります。これは、1 秒あたり約 80 ~ 90 件のリクエストを処理するミッション クリティカルな環境です。

私はタンデム環境にまったく慣れていませんが、コードを開発した人々から、彼らの Java コードはシングル スレッド モードで実行されることを理解しているようです。基本的に、それらは複数の経路プロセスを生成し、各経路には複数の JVM プロセスが含まれます。その環境で作業する開発者の考え方は、「シングル スレッド」であると見なすことができます。

私のチームは、既にアプリケーションを実行している JBoss (私たちが知っているようにマルチスレッド) で実行するようにこのコードを移動するというこのタスクを与えられました。

政治的な理由により、最初のステップとして「リフト アンド シフト」を実行することを決定し、このアプリケーションを既存の JBoss アプリで真のマルチスレッドで動作するようにマージするという観点から、後でこのアプリケーションを処理することを知っておくことが重要です。ファッション。

このコード (独立したコンポーネント) を、既存のアプリケーションと共にステートレス セッション Bean として実行することを考えています。既存のアプリケーションは EJB や Spring / hibernate を使用せず、非常にうまく機能します。SSLB の動作方法に基づいて、SLSB の 1 つのオブジェクトが任意の時点で 1 つのスレッドによってアクセスされると想定しています。ただし、心配なのは、本質的にスレッドセーフではない静的変数です。私たちのアプローチが 100% 正しいわけではないことは理解しており、これに対処する方法についてアドバイスが必要です。

重要な点は、コードの所有権をできるだけ早く取得し、何らかの方法で本番環境で動作させることです。その後、実際のコードの複雑さに対処し、既存のアプリケーションとゆっくりとマージします。

制約が与えられた状況に対処するためのより良い方法はありますか? どんなデザイン入力も役に立ちます。

4

0 に答える 0