3

私の上司は、大陸全体の壊滅的な出来事を考慮したシステムを望んでいます。彼は、米国に 2 つのサーバー、アジアに 2 つのサーバー (各大陸に 1 つのログイン サーバーと 1 つのワーカー サーバー) を持つことを望んでいます。

  1. 地震によって 2 つの大陸間の接続が切断された場合、両方が単独で機能する必要があります。接続が回復すると、互いに同期して通常の状態に戻ります。
  2. 自信がないため、外部クラウド システムは許可されません。
  3. システムはスケーラビリティを考慮に入れる必要があります。つまり、新しいサーバーの追加は簡単に構成できる必要があります。
  4. サーバーは負荷分散する必要があります。
  5. サーバー間の接続は非常に安全である必要があります (暗号化され、SSL 経由で送信されますが、SSL は暗号化を処理します)。
  6. システムは、1 つのアカウントで 1 人のユーザーのみがログインできるようにする必要があります。(大陸間の遅延に注意し、アカウントを共有する 2 人のユーザーが同時に両方のログイン サーバーに到達する可能性があります)

助けてください。もう限界です。前もって感謝します。

4

4 に答える 4

6

これらの要件(適切に分析された場合)は、CAP定理に従って機能できないという点で本質的に互換性がないと思います。

複数のデータセンターがある場合、それらが近くにある場合でも、パーティションが発生します。パーティションが発生した場合、次のいずれかの理由により、可用性または整合性のいずれかが失われる必要があります。

  • 動作を継続する事前定義された「マスター」と、失敗する(または読み取り専用になる)他の「スレーブ」DCがあります。これにより、可用性を犠牲にして一貫性が維持されます。
  • または、パーティションの期間中、整合性が失われます(これは、即時の整合性に依存する操作も使用できないことを意味します)。

私が見る限り、これはあなたの要件と互換性がありません。上司が望んでいることは明らかに不可能です。彼はCAP定理を理解する必要があります。

さて、あなたのアプリケーションの場合、あなたはルールを曲げて、一貫性または可用性が何であるかを再定義することができ、一貫性がないが一時的に許容できる状態に劣化するシステムを持つことを決定するかもしれません。

おそらく、製品管理者にこれらの要件のビジネスケースを見てもらうことをお勧めします。それらのいくつかを削除することはおそらく大丈夫です。一貫性は、人々が期待するとおりに動作するため、維持するのに適した要件です。これは、可用性またはパーティションの許容度を下げることを意味します。一貫性を維持することは、エンジニアリングの観点からは間違いなく簡単です。

于 2010-04-05T17:57:27.077 に答える
4

これは、雇用主が既製のソリューションを使用する利点を理解しない傾向があるもう 1 つのことです。プログラマーとして、どこから始めればよいかさえわからない場合、自分で作成することは、おそらく莫大な費用と時間の浪費になるでしょう。このことを知らなくても問題はありません。重要なコンポーネントの壊滅的な障害を考慮した高可用性のフェールセーフ ネットワーキングは、多くの人々が多くの労力とお金を注ぎ込んでいる大きな問題領域です。プロバイダーが提供するものを利用してみませんか?

既存のクラウド プロバイダーの使用について、もう一度上司に相談してみてください。

于 2010-03-17T04:19:48.427 に答える
1

世界中のさまざまな地域にデータセンターを持つ堅実で経験豊富なホスティングプロバイダー (Rackspace を使用) に連絡して、要件に関する推奨事項を得ることができます。

于 2010-03-17T04:05:23.293 に答える
0

これには、専門家の支援と多額の予算、そして真剣な計画が必要です。

より良い選択肢は、グローバルなフットプリントを持つ評判の良いプロバイダーに連絡し、そこでサービスをバックアップする堅実な SLA を備えたプレミアム ソリューションを選択し、ニーズに近いソリューションを調整してもらうことです.

Google、Yahoo、Microsoft、Amazon (いくつか例を挙げると) のような人でさえ、システムのセグメントを特定のユーザーにオフラインにする何らかの問題が発生したことがあります。

于 2011-06-24T10:37:35.050 に答える