2017-09-20 1 views
0

ピーク負荷の数百のインスタンスにスケールアップする関数アプリケーションがあります。ここで、特定のイベントが発生した場合のキュー)すべてのインスタンスが通知され、これを達成するための潜在的なアプローチは何ですか?アドバイスしてください。Azure関数のすべてのインスタンスにイベントを近づける方法

+0

私はなぜこれが必要なのか尋ねてもいいですか?無効にするいくつかの状態/キャッシュ? – Mikhail

+0

CancellationTokenのようなものですか? –

+0

@Mikhailはい、それは正しいです、特別なタイプのメッセージを取得した場合、インスタンスは状態をリロードします – akhil

答えて

0

共通の状態が更新されると変更される共通のマーカー(blob)を持つパターンです。各インスタンスは、ブロブのエタグを事前にチェックして、状態が変更されているかどうかを判断し、変更されている場合は状態をリロードすることができます。 なお:

  1. 最も通知メカニズムの遅れが存在する可能性があるため、インスタンスをチェック(というよりも変更通知を待つ)することが重要です。たとえば、ブロブのトリガは数分遅れる可能性があります。
  2. ロードバランサをバイパスして特定のインスタンスにメッセージを送信する方法はありません。したがって、事前に無効化メッセージを送信することはできません。

もう1つのパターンは、完全に外部化された状態をRedisのようなものにすることです。無効にして更新するのは簡単です。 (これは本質的に先の提案の特別なケースですが)

関連する問題