AWSDBProxy を使用していますか?スケールアウト時にパフォーマンスに影響はありますか?
-
20-08-2019 - |
質問
反対票を投じた後、自分の投稿が非常に重要なものであることに謙虚に気づきました 暴言を吐く. 。そこで、私が本当に知りたい質問だけを編集して要約しました。この編集の前に私の生意気なコメントをしたことをお詫びします;)
Rails サイトで Amazon の SimpleDB を使用することについて説明しているチュートリアルは、AWSDBProxy を使用しているだけのようです...以下の典型的な Rails サイト (AWSDBProxy を使用) のサーバー レイアウトを考慮すると、これはスケールアウトの直観に反していると個人的に感じます。
プラグインはこちら: http://agilewebdevelopment.com/plugins/aws_sdb_proxy
画像はこちら: http://www.freeimagehosting.net/uploads/91be4e0617.png
ご覧のとおり、雑種をさらに追加したとしても、2 つの問題があります。
- ロードバランサーよりもはるかに不安定な単一障害点があります。
- すべての情報をこれに強制的に通す必要があります WEBrickサーバー
解決策は、もちろん、AWSDBProxies をさらに追加することです...しかし、それなら、プロキシをすべてスキップして、たとえばクラスで次のコードを使用してはどうでしょうか?
service = AwsSdb::Service.new(Logger.new(nil),
CONFIG['aws_access_key_id'],
CONFIG['aws_secret_access_key'])
service.query(domain, query)
それで、私が言いたいのは、あなたが は AWSDBProxy を使用する理由は何ですか?実際に使用している場合、パフォーマンスはどうですか?明確な数字がある場合は、さらに感謝されます。
ありがとう!
解決
私はそれを使用していませんし、聞いたこともありませんが、これが合理的な理由だと思います。
- メイン アプリ サーバーを EC2 上で実行しているため、インターネット障害が発生する可能性は一度だけではありません。
- 各アプリサーバーで 1 つのプロキシを実行します。したがって、接続がダウンすることは、データベースへの接続がダウンすることよりも悪いことではありません。
- それはできるからです。これは、オープンソース プロジェクトにおける他の理由と同様に十分な理由です。場合によっては、それが良いアイデアか悪いアイデアかを知る前に、何かを構築する必要があります。
- ロード バランサーが必要なトラフィック レベルがありません。その後、図は 1 つのマシンではないにしても、1 つの線に縮小されます。
所属していません StackOverflow