REST WebServiceと対話し、次にリモートデータベースと対話するモバイルアプリケーションを作成します。数時間後に何人のユーザーがいるのかを見積もることができないので、スケーラブルなソリューションを作成します。アプリは、データを投稿および取得するためのRESTサービスと、継続的に実行されるプッシュ通知サービスを提供する必要があります。私の最初のアイデアはJavaApp+ MySQL db ....ですが、スケーラブルにするためのより良い方法があるかどうかはわかりません。なにか提案を?
2 に答える
かなりうまくスケーリングする別のオプションを追加するだけです: Amazon Elastic Beanstalk . 要約すると、完全な Java スタック (Amazon Linux + Tomcat)、エラスティック ストレージ (S3 上)、およびオプションで RDS インスタンス (MySQL を実行しているため、ニーズに最適です) が用意されます。Amazon は、スケーリング (VM の数など)、ロード バランサーのセットアップ、および RDS インスタンスを処理します。.war ファイル、DB スキーマ、およびデータのみをデプロイし、アクセス許可を設定する必要があります。
私の観点からは、/maintain/scale/ から始めるのが最も簡単です。IaaS となる EC2+RDS を使用するのとは異なり、これは PaaS です。
おっしゃる通り、AWS にはEC2とRDSの 2 つのサービスが必要だと思います。
EC2には、API を配置できるすべてのサーバーがあります。スケーラビリティの問題については、サーバーを LoadBalancer ( ELBサービス) の背後に配置し、必要に応じてインスタンスを追加および削除するように自動スケーリングをセットアップすることをお勧めします。通知の送信 (デーモン) を処理する EC2 インスタンスと、バックエンド作業 (ソースからのデータのダウンロード) 用の別のインスタンス (または同じもの) を使用することもできます。
もちろん、DB にはRDSを使用する必要があります。データベースを作成し、セキュリティ (誰がアクセスできるか) を構成するだけで、すぐに使用できます。