/ / Implementuj pamięć podręczną w usłudze Azure Service Fabric - azure, caching, azure-service-fabric, stateful

Implementuj pamięć podręczną w usłudze Azure Service Fabric - lazur, pamięć podręczna, lazur-usługa-tkanina, stanowy

Pracuję nad projektem, w którym ja często potrzebuję zestawu danych i obecnie, aby uzyskać te dane, muszę zadzwonić do serwisu zewnętrznego, który zajmuje dużo czasu utrzymywać lokalną pamięć podręczną. Dane to zmodyfikowany bardzo rzadko lub jest prawie stały.Jaki jest najlepszy sposób implementacji tego w usłudze Azure Service Fabric. Mikroserwis stanowy. Czy jest to najlepszy sposób, aby to zrobić? Gdy węzeł znika, powinien skopiować lokalną pamięć podręczną do innego węzła.

Odpowiedzi:

1 dla odpowiedzi № 1

Masz dwie możliwości: Jeśli potrzebujesz replikacji danych o wydajności i pamięci podręcznej geograficznej, możesz użyć pamięci podręcznej redis.

Inną opcją jest użycie niezawodnego słownika „s.” Jest to funkcja tkaniny usługi, a niezawodne słowniki są replikowane do innych węzłów.

Dostęp do niezawodnego słownika można uzyskać tylko w kontekście stanowym struktury usługi.

Przykład poniżej:

IReliableDictionary<string, string> Dictionary = await this.StateManager.GetOrAddAsync<IReliableDictionary<string, string>>("stringlistcache");
using (var tx = this.StateManager.CreateTransaction())
{
await pingDictionary.AddOrUpdateAsync(tx, "testkey", "testvalue", (key, value) => "testvalue");
cachedValue = await Dictionary.TryGetValueAsync(tx, "testkey");
await Dictionary.TryRemoveAsync(tx, "testkey");
await tx.CommitAsync();
}