1

一部の人々は、Shared Nothing アーキテクチャを使用してすべての Web アプリケーションを実装することが可能であり、必要でさえあると主張しています。このアーキテクチャ スタイルを使用して、ショッピング カートを備えた Web ショップを実装するにはどうすればよいでしょうか?

通常、ウェブショップはセッションを使用して実装できます。この場合、カートに関する情報がサーバーに保存されないように、別の方法で実装する必要があります。ただし、カートの内容を隠しフィールドに含めて、すべてのリクエストでサーバーに渡されるようにする必要があります。これは、Shared Nothing アーキテクチャを使用する Web ショップのソリューションですか?

Web アプリケーションのシェアード ナッシング アーキテクチャを実現する方法について何かアイデアはありますか?

4

4 に答える 4

2

シェアード ナッシング (SN) ベースのシステムを構築するために明示的に出かけたことはありませんが、「純粋な」SN を使用して WebApps を設計する必要があると言う人には、次のように勧めます。

  • すべての階層で 100 万個のクラスターを利用できるほどの巨額の予算を持っています。
  • 実際には何も実装しない学者です。

Web サーバーのクラスターがあり、同じ Web サーバーが特定のセッションのすべての呼び出しを処理することを保証できない方法でトラフィックを負荷分散している場合、はい、SN の原則が適用されます。サーバー アフィニティを導入する余裕はありません。

しかし、これを「すべての」ウェブアプリに拡張するのは、ばかげています。

SN は、他のすべてのアーキテクチャと同様に、ツールのようなものです。つまり、問題に対するソリューションです。問題が解決策を定義します。その逆ではありません。

于 2011-01-26T09:02:22.027 に答える
1

Web ショップでの私の経験では、シェアード ナッシング アーキテクチャはセッションベースよりも優れています。セッションの有効期限が切れたためにショッピングカードが消えてしまうことに、私は何度も非常に悩まされてきました! AJAXであろうとなかろうと、webappは少なくともユーザーの選択をCookieに保存するか、利用可能な場合はHTML5ストレージやその他の素晴らしいメカニズムを保存する必要があります。

ただし、HTTP セッション ベースのアプリには利点もあります。特に、サーバー側でユーザーのリソースをキャッシュする場合は、取得にコストがかかります。これは、高負荷のビジネス ロジック トランザクション システムでは一般的です。多くの場合、混合ソリューションが最良の選択です。

だから私の答えは - それは依存します。要件を記述し、適用するパターンやアーキテクチャの名前を気にせずに、最適なものを選択する必要があります:)

于 2012-01-13T21:50:37.303 に答える