Ein Dienst wie der Google App Engine-Datenspeicher basiert auf der Datenreplikation über mehrere global verteilte Präsenzpunkte (POP). Jeder Integrationstest für einen eventuell konsistenten Dienst ist in Wirklichkeit ein Test der Replikationsrate dieses Dienstes für alle POPs. Die Rate, mit der Inhalte auf jeden POP in einem bestimmten Dienst verteilt werden, ist abhängig von einer Reihe von Faktoren, wie der Replikationsmethode und verschiedenen Internet-Transportproblemen, nicht für jeden POP im Dienst gleich - dies sind zwei Beispiele Diese Berichte machen einen Großteil der Berichte in einem eventuell konsistenten Datenspeicherdienst aus (zumindest war dies meine Erfahrung, als ich für ein großes CDN arbeitete).
Um die Replikation eines Objekts auf einer bestimmten Plattform effektiv zu testen, müssen Sie den Test so einstellen, dass dasselbe kürzlich platzierte Objekt von allen POPs des Dienstes angefordert wird. Ich schlage vor, die POPs-Liste ein bis fünf Mal zu testen, oder bis alle POPs in Ihrer POPs-Liste das Objekt melden. Hier finden Sie eine Reihe von Intervallen, in denen Sie den Test durchführen können: 1, 5, 60 Minuten, 12 Stunden, 25 Stunden, nachdem Sie ihn in den Datenspeicher gestellt haben. Der Schlüssel besteht darin, die Ergebnisse in jedem Intervall für eine spätere Überprüfung und Analyse zu protokollieren, um ein Gefühl für die Fähigkeit eines bestimmten Dienstes zu bekommen, Objekte global zu replizieren. Häufig ziehen Datenspeicherdienste eine lokale Kopie erst dann auf einen POP, wenn sie lokal angefordert wurde. [Das Routing erfolgt über das BGP-Protokoll. Daher muss der Test das Objekt von jedem bestimmten POP anfordern, damit es für eine bestimmte Plattform global gültig ist.] . Im Fall des Google-Datenspeichers möchten Sie Ihren Test so einrichten, dass ein bestimmtes Objekt von "über 70 Präsenzpunkten in 33 Ländern" abgefragt wird. Sie müssten wahrscheinlich die POP-spezifische Adress-URL-Liste vom Google-Support erhalten [Ref:https://cloud.google.com/about/locations/ ] oder Fastly Support [ https://www.fastly.com/resources ], wenn Google Fastly für die Replikation verwendet .
Einige Vorteile dieser Methode: 1) Sie erhalten ein Gefühl für die Replikationsplattform eines bestimmten Dienstes, kennen dessen Stärken und Schwachstellen insgesamt auf globaler Ebene [wie beim Integrationstest]. 2) Für jedes Objekt, das Sie testen, steht Ihnen ein Tool zum Erwärmen von Inhalten zur Verfügung [stellen Sie diese erste Anforderung, mit der die Kopie bei einem bestimmten lokalen POP erstellt wird]. Auf diese Weise können Sie sicherstellen, dass Inhalte global verbreitet werden, bevor Ihre Kunden sie anfordern überall auf der Erde.