利用可能なWebアプリケーションを構築する方法
-
28-09-2019 - |
質問
高可用性が最高の焦点であるWebアプリケーションを構築しようとしているとしましょう。当社の顧客は企業であるため、ダウンタイムは関係者全員の収益の損失に等しい。
要約するには、みんなを幸せに保つために常にオンラインにする必要があります。だから、非常に基本的な観点から、 これを行うためにどのようなテクニックを検討すべきですか?
PHPを使用して速度を高く保ち続けることに加えて、ほぼ好みはありません。そのため、データストレージの新しいプラットフォームや、それを実現するために他に何があるかについて完全に開かれています。
あなたの答えはとても感謝しています!どうもありがとう!
解決
これについては、ハードウェアとソフトウェアの両方を考慮する必要があります。
ハードウェアに関しては、おそらくRackspaceのような必要な経験を持つホスティングプロバイダーを選ぶことです(私は彼らと良い個人的な経験をしましたが、他にもたくさんあります)。これは安くなりません。複数のディスク、ネットワークカード、ファン、電源を備えた1つのコンポーネント(少なくとも2つ)の障害(少なくとも2つ)の障害に耐えるには、完全に冗長なハードウェアが必要になります。
ソフトウェアに関しては、スケーラビリティを念頭に置いて構築することを確認してください。 MVCパラダイムを使用して分離をきれいに保つことが、MVCパラダイムを使用して、実行する必要がある複数のサーバーでアプリケーションをスケーリングできるようにするのに大いに役立ちます。
通常、最も難しい部分はデータベースです。2つだけを実行できないためです。したがって、自動フェールオーバー、またはクラスターを使用したマスタースレーブセットアップを調べてください。
このトピックには多くの本が利用可能です、 これがそれらの1つにすぎません. 。幸運を!
他のヒント
多くの変数に応じて、この質問に対処する方法はいくつかあります。
- ホストされたソリューションを使用してください
- 仮想マシンを展開して、冗長性を持っています
- 負荷分散を使用します
- RAIDアレイ
これらの組み合わせはすべてあなたを助けることができます。
ホストがダウンして回復する必要がある場合に備えて、ホストされたソリューションを使用することにした場合は、自分のバックアップをいくつかやりたいと思うでしょう。仮想マシンを展開した場合、いくつかのロードバランスを実施し、コンポーネントがダウンした場合に備えて仮想マシンを準備することもできます。
多くの冗長性、あなたが決してダウンする余裕がない場合、複数のデータセンターにずっと。
また、Amazon EC2やRackspace Cloudなどのさまざまなクラウドサービスをご覧ください。その後、必要な正確なコンピューティングパワーに対してのみ支払うことができるかもしれません...
参照してください:
私は個人的に強くお勧めします Azure Appサービス (これは、Webアプリを構築するためのPAASソリューションです)。
(ソース: windows.net)
また、次のユニバーサル /同型Webアプリケーションスターターキットをご覧ください。 https://github.com/kriasoft/react-starter-kit (免責事項:私は著者です)