質問

またPythonの配布を複数のプロセッサを複数のコンピュータでは、何が私のファーストベストアプローチす。している場合は3つのコアサーバで、そうい24のpythonプロセス。うにするとのことです。 マルチプロセ館, は、共有オブジェのようにな最うというアイデアを利用するマネージャ。いすべてのノードとして一つの大きな過程で、こちらの暑さにもだいぶ慣れて長なげていくことができれば理想で、これは私のサーバのテナント環境セットアップを既.がより良い解決するのかう複製のオブジェクトの店舗きょうか?

また、長くてすべてのデータベースに照会で意味で同じマシンとしてのデータベース?

役に立ちましたか?

解決

プロセスの配布には、主に2つの課題があります:

  1. 分割、配布、再収集される作業の調整(マッピングと削減、言うかもしれません)
  2. 相互に依存するプロセス間で適切なライブデータを共有する

#1への答えは、あなたがどのような処理を行っているかに大きく依存します。簡単に水平に分割できる場合(つまり、大きなタスクを複数の小さなタスクに分割できる場合)、 HAProxy は、負荷を分散する便利な方法です。

タスクが簡単に水平に分割できない場合は、まずのような既存のツールがあるかどうかを確認しますHadoop 、私のために働くでしょう。分散タスク管理は適切に行うのが難しいタスクであり、ホイールはすでに発明されています。

#2については、プロセス間で状態を共有する場合、絶対最小値を共有し、それを明示的に明確に定義された方法でのみ共有すれば、人生はずっと楽になります。私は個人的に、ごくごく小さなタスクでも、選択したRDBMSが支援する SQLAlchemy を使用します。クエリインターフェースは、小規模プロジェクトから大規模プロジェクトまで同様に強力で痛みがありません。

他のヒント

えてきていると思い情報は、どのようなものだけ、どのようなデータベースまで使え、どのような遅延/スループット要求す。多くのものに依存してお客様の要件:例えば.システムの場合、典型的なサーバーの読み取られない多くの書き込み、いらっしゃらない問題を読むことやや無効なデータが行う地域を読み込みに対するキャッシュにそれぞれの工程のみを押して、書き込み、データベースに、放送の結果をキャッシュの

スタートっていると思うようにしています。その悩シングルポイントの故障が無ければ意味をなさなシステムのようなことを絶対に失敗してはなりませんが発生するの壊滅的なハードウェア自体の故障です。ただし、そのままいつもと同じマシンとして、データベースには意味がある。ま遅延の削減、システムなければ生き残れないようなのですよね。

質問の要点は、オブジェクトと状態を共有する方法です。より多くの情報、特にサイズ、頻度、変更率、データのソースが非常に役立ちます。

クロスマシン共有メモリについては、おそらく memcached をご覧ください。データを保存し、どのワーカープロセスからでもすばやく簡単にアクセスできます。

シナリオが単純なジョブ分散モデルである場合は、キューサーバーを確認することをお勧めします。ジョブとそれに関連するデータをキューに入れ、ワーカーがキューからジョブをピックアップするようにします。 Beanstalkd はおそらくキューに適した選択肢です。ここに入門チュートリアル。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top