1

注: サービス外のデータとは、サービスによって返され、クライアントによって消費されるメッセージを意味します。

LastBuyer Service という名前のサービスがあります。これは、bookID をサービスに入力すると、書籍の最後の購入者の名前を返します。同じ書籍 ID に対してサービスを呼び出すと、別の結果が返されます (書籍が新しい購入者によって購入された場合)。したがって、サービスの結果をクライアントにキャッシュすることはできません (特定の BookID について)。

「Data on the Inside vs. Data on the Outside」という記事を読んでいると、「キャッシュしてもいい」「メッセージの ID は同じデータを返すので、メッセージをキャッシュしてもいい」と書かれています。

参照: http://msdn.microsoft.com/en-us/library/ms954587.aspx

  1. 私の理解の欠けている点は何ですか?

  2. 上記の例でメッセージは不変ですか?

  3. 上記の例で、バージョンに依存する識別子とバージョンに依存しない識別子は何ですか?

  4. ここでメッセージのバージョン管理はどのように行われますか?

  5. SOA の概念とパターンを例を挙げて明確に説明している WCF の本はどれですか?

読む

  1. サービス設計の原則: サービス パターンとアンチパターン

http://msdn.microsoft.com/en-us/library/ms954638.aspx

4

1 に答える 1

2
  1. (@ Carsten-Konigが示唆するように)特定のスナップショット時間のデータが不変であるという事実を見逃しています。戻って古い注文を入力しない限り、昨日の午後5時の時点で最後に本を購入した人は常に同じになります。それ以来、誰かがその本を購入したという事実(そのデータの新しいバージョンが作成された)は、昨日の結果とは無関係です。これは、キャッシュするのに役立つデータである場合とそうでない場合がありますが、任意の時点で不変です。

  2. メッセージのキーの一部がタイムスタンプである場合、メッセージは不変です。

  3. バージョンに依存しない識別子は、本のIDです。バージョン依存の識別子はスナップショットのタイムスタンプです。

  4. スナップショットのタイムスタンプによる(これも、キャッシュの目的に役立つ場合とそうでない場合があります)

このテーマに関する良い本については、私は推薦を与えることができないのではないかと思います。しかし、amazonやbn.comのレビューから始めるのが良いと思います。

于 2012-03-02T16:23:17.337 に答える