動的に拡大/縮小するC#Azure関数App(消費計画)があります。つまり、すべてのインスタンスで使用する必要があるオブジェクトが追加されましたこのAzure関数のオブジェクトは複雑なので(デリゲートを持っています)、すべてのインスタンスがそこからアクセスできるように外部キャッシュを設定することはできません。このシナリオを処理する最善の方法を提案してください。すべてのAzure関数インスタンス間でオブジェクト状態を共有する方法
答えて
Azureファンクションインスタンスは異なるサーバーで実行されていますが、同じメモリを共有しないため、リモート呼び出し(したがってシリアル化)を行わずにすべての.NETオブジェクトにアクセスする方法はありません。
あなたの質問には根本的に矛盾するものがあります。つまり、a)多くのマシンに合わせて拡張できる機能と、 b)メモリ内のオブジェクトをすべて1つのマシン上で実行しているかのように共有するすべてのインスタンス。 サーバレスなことは、誰もあなたの機能を使用していない場合、すべてのインフラストラクチャをシャットダウンすることができます(つまり、お金を節約できます)。これは暗黙のうちにインメモリ状態を失い、それを直列化する。
シェアード状態を最小にし、シリアライズ可能にする(デリゲート[1]のようなものに対処するパターンがあります)、外部ストレージ(Azure Storage、Redisのようなキャッシュ)を使用します。
[1]代理人にとっては、代理人にハンドルの辞書を保持してから、ハンドルをシリアライズすることです。同様に、多型については、型名を直列化するかもしれません。
私は内部的に起こると信じていることは、すべての関数インスタンスが外部プロセスによって管理されていることです。すべてのインスタンスにアクセスできるオーケストレーターは、この外部プロセスがインスタンス間の状態共有をサポートする方法です... – akhil
@Akhil - トリガーを監視し、マシンを立ち上げ、最終的にはこの機能を呼び出すことにつながるいくつかの外部プロセスがここにあります。しかし、それはほとんど無関係です。まだ組み込みの状態共有はありません。 –
- 1. 複数のAzure関数インスタンス間でオブジェクトを共有する
- 2. プログラム間で状態を共有する方法は?
- 3. プロセス間でオブジェクトの状態を共有しますか?
- 4. ui-routerを使用して状態間でスコープ値を共有する方法
- 5. Azure関数 - 異なる呼び出し間の共有オブジェクト
- 6. Flinkのオペレータ間の状態の共有
- 7. プロジェクト間で休止状態の設定を共有する最善の方法
- 8. ViewModels間の状態の共有
- 9. 兄弟コンポーネント間のVue共有状態
- 10. Vuejs:コンポーネント間の共有状態
- 11. オブジェクトのインスタンス間でランダムな共有?
- 12. 複数のコントローラ間で$ scopeオブジェクトを共有する方法
- 13. KnockoutjsのViewModels間で可変状態を共有する
- 14. #[テスト] sの間で動的な状態を共有する
- 15. 別のソリューション間で共通のオブジェクトを共有する方法
- 16. 共有状態が
- 17. IIS7:状態サーバーを持つアプリケーション間でセッションを共有する
- 18. 二つの反応成分の間で共有状態を作る方法は?
- 19. Azure関数(安価な方法)で状態を保持する方法は?
- 20. JMH状態クラスと共有対非共有状態
- 21. アプリケーションストアの状態を共有する
- 22. RSpec変数を共有コンテキスト間で共有する方法は?
- 23. 配列内のすべてのオブジェクト間のjavascript関数の共有
- 24. 複数のアプリとアクティビティ間でデータを共有するAndroid(状態、値、設定)
- 25. PWAはブラウザ間で状態/データを共有できますか?
- 26. Wildfly 10の複数のアプリケーション間で共有されている休止状態
- 27. AWS EC2 UbuntuインスタンスにAzureファイル共有をマウントする方法は?
- 28. 関数間でロジックを共有する方法は?
- 29. Erlang Style Concurrencyと「状態を共有する」方法は?
- 30. 共有状態を回避する方法は?
あなたが尋ねていることは明確ではありません。投票が終わる前に、詳細を記入してください。 – Asdfg