2

デザインパターンに関する本(旧版)「パターン指向のソフトウェアアーキテクチャ」を読んでいます。Client-Dispatcher-Server に関する章では、SunRPC は Client-Dispatcher-Server アーキテクチャとして引用されており、ポートマッパーは Client-Server ネゴシエーションで Dispatcher として機能します。SunRPC がどのように機能するかは多かれ少なかれ知っていますが、SunRPC を実際に使用したことはありません。

3 つの質問があります。

  • Client-Dispatcher-Server メカニズムとしての SunRPC のソフトウェア制限 (インターフェイスと機能の観点から) は何ですか?
  • 同じ Client-Dispatcher-Server アーキテクチャ (言語に関係なく) を達成するために、今日同様に優れたシステムは何ですか?
  • Broker アーキテクチャと Client-Dispatcher-Server アーキテクチャの本質的な違いは何ですか?

質問が多く、複雑であることは承知しています。独立した質問に分割することも考えましたが、この提出のポイントは、典型的なケースとして特定の例 (SunRPC) を使用して、一般的なアーキテクチャの原則と制限についてです。これらの考慮事項により、猶予期間中の回答に対する満足度に関係なく、機会があればすぐに 100 担当者のバウンティを設定することを事前に発表します。

4

2 に答える 2

1

この用語は (少なくとも私にとっては) 珍しいものです。おそらくそれが、多くの回答が得られない理由です。327 ページの図から判断すると、client-dispatcher-server は、接続時に実サーバーへのリダイレクトが発生し、ブローカーが通信全体に介入することを意味します ( 109 ページ)? 現代の用語は、それぞれ「リダイレクト」(または「ネームサービス」または「ディレクトリサービス」など)と「プロキシ」であると仮定します。主な違いは、レイテンシーと可用性のトレードオフです。つまり、ブローカーはサーバーが停止したときにパッチを適用する立場にありますが、ディスパッチャーはそうではありません。ただし、ブローカーはパイプラインにわずかな処理時間を追加します。

両方のパターンの現代の例は、大量の Web サイトで見つけることができます。それらは通常、ラウンド ロビンまたはより高度な負荷分散 DNS サービス (ディスパッチャ) とキャッシングリバース プロキシ(ブローカー) を採用します。

私は SunRPC とその制限についてあまり知りませんし、ラウンドロビンのような方法で使用できるかどうかもわかりません (Google で「ポートマップロード バランシング」を検索しても、FWIW は何も見つかりません)。通常、ポートマッパーのテーブルのエントリは、同じホスト上で実行されている単一のサーバーを指します。つまり、ほとんどの場合、このメカニズムは、既知の TCP ポートが SunRPC サービスに割り当てられるのを回避するために使用されます。

于 2010-09-14T09:06:07.160 に答える
1

それは良い質問集です。uiuc として機能する siemens -patternsリストを試すことができます。最後に分かったのは、ボリュームがかなり少ないことでしたが、そこには多くの鋭敏な人々がいて、中には著者も含まれていました。あなたは自分の悟りを尋ね、共有することができます。

于 2010-09-14T00:25:05.590 に答える