2

こんにちは、私は Eiffel で開発された大きなソフトウェアを持っています。このコードを C++ から使用することは可能ですが、Eiffel ランタイムが読み込まれます。C++ から複数のスレッドによってアクセスされた場合、Eiffel コードとランタイムがスレッド セーフであるとは言えません。

このネイティブ コードをサービス化する必要がありますが、負荷が高い場合は複数のサーバーにスケーリングしたいと考えています。スケーリングの側面を Eiffel コードとランタイムに委任したくないので、このコードを既存のスケーラビリティ オプションでラップすることを検討しています。

このコードのチャンクにスレッドセーフなアクセスを提供できるようにするものは、Apache Web サーバーの下にありますか? Eiffel コード インスタンスのプールはどうですか? 私が念頭に置いているのは、次のようなものです。

[ネットワークを介した多数のクライアント リクエスト] ---> [スケーラブルなフレームワーク] --> [Eiffel コードの作成に費用がかかる 1 つ以上のインスタンス]

フレームワークで高価なコードのチャンクの複数のインスタンスをラップできるようにしたいと考えており、さらにマシンを追加して、これを Web ファームのようにスケールアップしたいと考えています。

よろしくお願いします

セレフ

4

1 に答える 1

2

Apache に縛られていなくても他のフレームワークで十分という場合は、ZeroMQメッセージ パッシング フレームワークを確認することをお勧めします。そのZMQ_PUSH/ZMQ_PULLモデルzmq_tcpトランスポートは、あなたが望むことをしているようです。

あなたの設定は次のようなものです: 外部のリクエストにサービスを提供する 1 つの「マスター」プロセス (任意の言語/プラットフォーム、おそらく Apache mod) と、Eiffel コードを呼び出して結果をプッシュする実行時に構成可能な多数の C++ ワーカー プロセス。

于 2011-03-01T11:47:11.657 に答える