2

Web アプリケーション用のサーバー環境をセットアップする必要があります。私は aws を使用する必要がありますが、これまでのところ、その目的には適しているようです。

私は欲しい:

  • スケーラブルな Tomcat 7 webapp サーバー
  • セッション複製!
  • mongodb データベース クラスタ(?)

私が考える限り、それは次のように動作する可能性があります:

  • スケーラブルな Tomcat 7 は、伸縮性のある豆の木で簡単に実行できます。
  • セッション レプリケーションは Elasticache で動作する可能性があります
  • mongodb クラスターを「手動で」実行する必要があるように思われるため、そのためにいくつかの ec2 インスタンスを作成しました。

それにはいくつか問題があります。

  1. コストはかなり高くなります。最小のセットアップは、2 つの ec2 インスタンスと、elasticache 用の 1 つです。
  2. 自動スケーリングする唯一のものは、伸縮性のある豆の木です。つまり、それも処理する必要があります。(まあ、mongodb インスタンスの場合は、バランサーも使用できます)
  3. mongodb ec2 インスタンスの場合、各インスタンスを自分でセットアップする必要があります

次の方法について何か考えはありますか?

  • コストを下げる(特に最初のうちは、少し高くなりますよね?)?
  • 管理を簡単にする?
4

3 に答える 3

2

mongo をインストールする場合は、AWS_NoSQL_MongoDB.pdfをご覧ください。レプリカ セットの 1 つのメンバーを、使用するアベイラビリティ ゾーンの外、または同じリージョンの外に置くことは非常に慣例であるため、障害が発生した場合に備えてホット バックアップを作成できます。

価格について - 実験 (負荷テスト) を行い、自分に合った小さいインスタンス タイプを見つけてください。また、未使用のインスタンスをシャットダウンすることを忘れないでください

管理について - AWS コンソールと多くのサードパーティ製品があります。また、Netflixは優れた管理ツールをいくつかリリースしています

于 2013-01-03T10:42:50.413 に答える
1

ウェブサーバーの自動スケーリングは Elastic Beanstalk で簡単に実行できますが、個別に使用することもできます。ここで自動スケーリングのドキュメントを確認してください: http://aws.amazon.com/autoscaling/

計算コストのほとんどを節約するのに役立ついくつかの機能があります。

  • 1 つは、負荷に基づいて、使用している Web サーバーのを自動的に変更することにより、スケールアウト (そして最も重要なのはスケールイン) する機能です。最小数 (たとえば 1) と最大数を定義できます。システムは、一連のメトリック (リクエスト数、CPU 負荷など) を監視し、インスタンスを追加または削除するタイミングを決定できます。
  • 2 つ目は、スケール ポリシーを変更し、使用状況に基づいてマシンのサイズを増減する機能です。中規模のインスタンスを使用し、より費用対効果が高いと思われる場合は、大規模または特大規模のインスタンスに切り替えることができます。さまざまなサイズを試して、自分に最適なものを見つけることをお勧めします。

Elastic Cache を使用すると、セッションのレプリケーションだけでなく、DB マシンの負荷を軽減することもできます。頻繁なクエリの出力 (フロント ページ、メイン カテゴリ ページなど) をそこにキャッシュして、パフォーマンスを向上させ、使用する DB インスタンスを減らすことができます。Memecached クライアントをサポートしているため、ほぼすべてのプログラミング言語での開発が非常に簡単になります。

MongoDB の代わりに Couchbase をチェックする必要があります (比較を参照)。これは、より堅牢で、スケールの信頼性が高くなります。

于 2013-01-03T13:13:41.373 に答える
0

Elastic BeanStalkは、Web/Appサーバーの管理のオーバーヘッドを減らすのに最適です。ただし、開発をあまり進めていない場合は、管理の地役権の側面でDynamoDBを使用することをお勧めします。

ただし、コストもチェックしてください。パフォーマンスと管理はDynamoDBで本当に素晴らしいものです

于 2013-01-03T10:47:45.780 に答える