Aus Replikaten lesen

Sie können MapSets so konfigurieren, dass ein Client aus einem Replikat lesen kann und nicht nur auf die primären Shards beschränkt ist.

Häufig kann es von Vorteil sein, Replikate nicht nur einfach als potenzielle primäre Shards für Fehlerfälle einzusetzen. MapSets können beispielsweise so konfiguriert werden, dass Leseoperationen an Replikate weitergeleitet werden können, indem die Option "replicaReadEnabled" im MapSet auf "true" gesetzt wird. Die Standardeinstellung ist "false".

Weitere Informationen zum Element MapSet finden Sie unter XML-Deskriptordatei für Implementierungsrichtlinie.

Durch die Aktivierung des Lesens von Replikaten kann die Leistung verbessert werden, indem Leseanforderungen an mehrere Java Virtual Machines verteilt werden. Wenn Sie diese Option nicht aktivieren, werden alle Leseanforderungen, wie z. B. die Methoden "ObjectMap.get" und "Query.getResultIterator", an das primäre Shard weitergeleitet. Wenn replicaReadEnabled auf "true" gesetzt ist, können einige Get-Anforderungen veraltete Daten zurückgeben, so dass eine Anwendung, die diese Option verwendet, in der Lage sein muss, diese Möglichkeit zu tolerieren. Cachefehler treten jedoch nicht auf. Wenn die Daten nicht im Replikat enthalten sind, wird die Get-Anforderung an das primäre Shard umgeleitet und wiederholt.

Die Option "replicaReadEnabled" kann mit synchroner und asynchroner Replikation verwendet werden.