問題タブ [shared-nothing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
performance - Hadoop の使用経験はありますか?
Hadoop を試した人はいますか? 共有なしのアーキテクチャで、分散ファイルシステムなしで使用できますか? それは理にかなっていますか?
また、あなたのパフォーマンス結果にも興味があります...
architecture - シェアードナッシングアーキテクチャに関するドキュメントを体験する
実際のシェアードナッシングアーキテクチャを設計した経験はありますか?私を推薦するためにいくつかの読み物がありますか?
ruby-on-rails - Railsは共有されていますか?何もありませんか、または別々のリクエストが同じランタイム変数にアクセスできますか?
PHPはシェアードナッシング環境で実行されます。つまり、このコンテキストでは、すべてのWebリクエストがクリーンな環境で実行されます。別の永続層(ファイルシステム、データベースなど)を経由しない限り、別のリクエストのデータにアクセスすることはできません。
Ruby on Railsはどうですか?別々のリクエストが同じクラス変数にアクセスする可能性があると述べているブログ投稿を読んだばかりです。
これはおそらくWebサーバーに依存していると思いました。 MongrelのFAQには、Mongrelはリクエストごとに1つのスレッドを使用すると記載されており、シェアードナッシング環境を示唆しています。FAQには、RoRはスレッドセーフではないと記載されています。これは、新しいリクエストが前のリクエストから作成されたメモリ内オブジェクトを再利用しない限り、RoRが共有環境に存在しないことをさらに示唆しています。
明らかに、これにはセキュリティに大きな影響があります。だから私は2つの質問があります:
- RoR環境は共有されていますか?何もありませんか?
- RoRが共有環境で実行されている(または状況によっては実行される可能性がある)場合、どの変数やその他のデータストレージについて心配する必要がありますか?
更新:さらに明確にします。 Javaサーブレットコンテナでは、複数のリクエストにまたがって存続するオブジェクトを持つことができます。これは通常、複数のユーザーがアクセスできるデータのキャッシュ、データベース接続などのために行われます。PHPでは、これはアプリケーションレイヤーでは実行できず、Memcachedなどの別の永続レイヤーで実行する必要があります。したがって、2つの質問は次のとおりです。RoRはどのシナリオ(PHPまたはJava)に似ていますか、Javaのように、どのデータ型が複数の要求にわたって持続しますか?
p2p - 分散システムで更新を伝達するためのアルゴリズムについて学ぶのに最適な論文は何ですか?
次のプロパティが必要な分散システム (単一のデータセンター内の複数のノード) を念頭に置いています。
- ノードはいつでもシステムに出入りできます。
- ノード間のデータ複製はありません。
- クライアントがどのノードを使用するかは、クライアント次第です (つまり、コンシステント ハッシュを使用することも、別のものを使用することもできます)。
- マスターなし (つまり、中央障害点がない)
- 各ノードは、残りのノードに転送する必要がある情報を受け取ることができます
これにはどのアルゴリズム (論文へのリンクが最適) が適していますか?
(いくつかの回答には P2P アルゴリズムが含まれると思いますが、私が過去に遭遇した回答のほとんどは、ノードがキースペースの一部に入り、それを引き継ぐ分散ハッシュ テーブルのように振る舞っていました。ここでは単純な UDP メッセージによるマルチキャストが適切かもしれませんが、メッセージングの信頼性を高めるのに役立つ既存の作業は何ですか?)
web-applications - シェアード ナッシング アーキテクチャで Web ショップを実装する方法
一部の人々は、Shared Nothing アーキテクチャを使用してすべての Web アプリケーションを実装することが可能であり、必要でさえあると主張しています。このアーキテクチャ スタイルを使用して、ショッピング カートを備えた Web ショップを実装するにはどうすればよいでしょうか?
通常、ウェブショップはセッションを使用して実装できます。この場合、カートに関する情報がサーバーに保存されないように、別の方法で実装する必要があります。ただし、カートの内容を隠しフィールドに含めて、すべてのリクエストでサーバーに渡されるようにする必要があります。これは、Shared Nothing アーキテクチャを使用する Web ショップのソリューションですか?
Web アプリケーションのシェアード ナッシング アーキテクチャを実現する方法について何かアイデアはありますか?
java - シェアードナッシング Java Web アプリケーション フレームワーク
ほとんどの Java Web アプリケーション フレームワークは、サーバー側のセッション オブジェクトを使用してセッション状態を保存します。これはスケーリングを複雑にするため、Shared-Nothing アーキテクチャを実装するフレームワークを検討しています。フレームワークとApache をクリックします。このリストに他にどのようなフレームワークを追加する必要がありますか?
architecture - 緊密に結合された設計とSOAの支持者を探しています
これは私が自分自身に課した奇妙な質問のようなものです。私たちは、実際にサービス指向アーキテクチャー(SOA)を実装する方法について少し議論を重ねていますが、いくつかの疣贅については説明する価値がありません。つまり、SaaS Webアプリの構築に使用されるのは、小さな単純なサービスの集まりです(ほとんどの場合、レガシーラッパーはそれほど少なくありません)。
とにかく、議論の問題の1つは、シェアードナッシングアプローチを使用して、各サービスがそのサービスのAPIを介して他のサービスと通信するかどうか、またはさまざまなサービスによってインポートされて直接通信するある種の共有APIライブラリを開発するかどうかです。お互いに。後者は人々にCORBAを思い出させるかもしれません。
ですから、チームへの私の提案は、強く感じているすべての人(私たちの数人)のために、私たちが個人的にシステムをどのように実装したいかについて調査し、よく引用された事例を作成することでした。次に、確証バイアスを減らし、すべての人に啓蒙するために、私たちが個人的にシステムを実装したくない方法について、よく引用された事例を作成します。その後、全員が集まってハッシュします。
私の問題は、とにかくCORBAの例を除いて、緊密に結合されたCORBAのようなライブラリのインポート設計のアイデアを検索するのがかなり難しいことです。特に分離されたSOAアーキテクチャーとは対照的に、この方法でそれを行うことの支持者はいますか?それとも、この時代のアイデアの一般的な支持者ですか?私は、各サービスが独自の明確に定義されたAPIを持つシェアードナッシングアーキテクチャに賛成です。今、私は賛成していないものについてプレゼンテーションを行う必要がありますが、裏付けとなる証拠を見つけることすら困難です。または、SOA以前の時代のものではない情報。
networking - 現在転送されている MPI ネットワーク通信量の取得
MPI について質問があります。
私の実装で使用される通信量を追跡するために、mpi プロセスの開始から現在の測定ポイントまでの現在の転送データ量を取得したいと考えています。
仕様と mpich の mpi.h ヘッダー ファイルを確認しましたが、ネットワーク転送コストを追跡する呼び出しまたは変数に一致する関数が見つかりませんでした。もちろん、小さなトラフィック レジストリを実装したり、通信サイズを追跡するためのマクロを定義したりすることは可能ですが、どこかから読み取れる可能性があります。
現在の転送サイズを取得する方法を知っていますか? システム コールを使用してこの数値を取得し、プロセスのネットワーク トラフィック サイズを取得することもできますか?
/proc/self/net のように、現在のプロセスの proc 情報にアクセスすることは可能でしょうか? /proc/net もプロセスごとに維持されているのでしょうか?
前もってありがとう、マーティン