3

Windows azure Web ロールにロールベースのキャッシュ機能を使用しています。コロケーションとして構成されます。Windows azure docs for caching (preview) で指定された手順に従いました。次のエラーが表示されます。

ErrorCode <ERRCA0017>:SubStatus<ES0006>:一時的な障害があります。後で再試行してください。(指定された 1 つ以上のキャッシュ サーバーが使用できません。これは、ネットワークまたはサーバーのビジー状態が原因である可能性があります。オンプレミスのキャッシュ クラスターの場合は、次の条件も確認してください。このクライアント アカウントにセキュリティ アクセス許可が付与されていることを確認し、AppFabricキャッシュ サービスは、すべてのキャッシュ ホストでファイアウォールを介して許可されます。また、サーバーの MaxBufferSize は、クライアントから送信されたシリアル化されたオブジェクト サイズ以上である必要があります。) 追加情報: クライアントはサーバーと通信しようとしていました: net.tcp://127.255.0.4:20010/.

ローカル開発ストレージを使用して、すべてを localhost として実行しています。キャッシュ クライアントはサーバーと同じ役割を果たします。多くの構成属性を変更しましたが、「tcp に接続できません....」のような例外または類似のメッセージが常に表示されます。

助けていただければ幸いです。ありがとう。

4

2 に答える 2

1

アプリケーションで問題が発生する可能性のあることがいくつかあります。

まず最初に、Windows Azure CachingServicesを使用している場合でもマシンにSDK1.7がインストールされていることを確認してから、(Windows Server App Fabric SDKからではなく)WindowsAzureキャッシュから参照が設定されていることを確認します。私は過去にそのような設定ミスを見て、そのようなエラーにつながりました。

ここで、ドキュメントのリンクで説明されているように、dataCacheClient、識別子をROLE名に変更しました。説明されているドキュメントに従うと、エラーが発生しないため、何が間違っているかを確認するために、このリンクで説明されているものとまったく同じアプリケーションを作成して、それが機能するかどうかを確認できます。

詳細エラーを取得するには、ここで説明するように、DataCacheFactoryConfiguration.ChannelOpenTimeout値を2分より長くしてから、デフォルトの20秒に増やしてください。この手順は、問題の実際の根本原因につながる可能性のある内部例外に関する詳細を取得するのに役立ちます。

于 2012-08-20T21:54:36.047 に答える
1

セッション バッカーとして Azure の同じ場所に配置されたキャッシュ (現在はプレビューではありません) を使用しており、かなり定期的に停止しています。だいたい月に一回。

Enterprise ライブラリのTransient Fault Handlingを使用してみましたが、キャッシュで問題が発生するとインスタンスがハングします。一時的な障害コードはデータ キャッシングには機能すると思いますが、セッション バッキングには、コーディングできないように思われる金属に近いアクティビティがあります。

エラーコードは、昨年より有益になり、次のようになります...

ErrorCode:SubStatus:The request timed out.. 追加情報: クライアントはサーバーと通信しようとしていました: net.tcp://10.xx.xxx.xx:xxxxx/.

実験や MS のサポートとはかけ離れた私たちの最善の推測は、Azure はいつでもインスタンスを破棄して再起動できるため、それぞれ、または少なくとも 1 つの同じ場所にあるキャッシュ ロール/インスタンスが他のすべてのインスタンスの IP を認識する必要があるということです。依存インスタンスの更新に失敗します。これは Azure の秘密のソースですが、サイトがダウンしたときの秘密ではありません。これについてさらに情報を探しており、他の人がこの問題をどのように回避しているかを確認しています。

考えられる回避策の 1 つ。有能なプラットフォーム管理者の 1 人は、インスタンスで IIS をリセットし、さらに 2 つのインスタンスをスケールアップすると、問題が解決するように思われることを発見しました。これは、他のインスタンスに関するすべての必要な情報を収集する別の機会をキャッシュに与えるため、私には理にかなっています。これで問題が解決することは確認されていませんが、次の停止時にこれを繰り返せば、有効な回避策になる可能性があります。

于 2013-03-15T17:10:37.313 に答える