Insights / Technische Beiträge

Dynmap auf 512px-Tiles migrieren: öffentliche Prüfung und R2-Bereinigung

Renderbereiche, normale und Zoom-Bilder sowie R2-Speicher bei einer 512px-Migration prüfen. Ein Beispiel mit acht Servern und 89 Karten erklärt Kontrollen vor dem Löschen und Bedingungen für Kostenvergleiche.

  • Technologie
  • Cloudflare
Dynmap auf 512px-Tiles migrieren: öffentliche Prüfung und R2-Bereinigung
Inhaltsverzeichnis
  1. Was vor einer Dynmap-Tile-Migration zu vergleichen ist
  2. Schrittweise Umstellung mit begrenztem Renderbereich
  3. Öffentliche Darstellung und Speicher getrennt prüfen
  4. Speicheränderung nicht mit der Rechnung gleichsetzen

Wir änderten das Bildformat einer Dynmap-Installation, die Karten über Cloudflare R2 ausliefert, und räumten alte Daten auf. Betroffen waren acht Server und 89 Karten. Entscheidend war die Reihenfolge: erst die neuen Bilder öffentlich prüfen, dann die alten löschen.

Was vor einer Dynmap-Tile-Migration zu vergleichen ist

Vergleichen Sie normale und Zoom-Bilder im gleichen Renderbereich, bevor Sie 512px-Tiles wählen. Erfassen Sie Abrufe und Render-Schreibvorgänge getrennt. Listen Sie alte Präfixe zunächst auf; entscheiden Sie erst nach Prüfung der öffentlichen Bilder und der Wiederherstellung durch erneutes Rendern der Welt über das Löschen.

R2:Speicher und Operationen messen

Schrittweise Umstellung mit begrenztem Renderbereich

Die produktiven Karten wurden auf 512px-Kacheln vereinheitlicht. Bei 21 Karten mit zusätzlichem Renderbedarf begrenzten wir den Bereich auf einen Radius von 2.000 Blöcken um das öffentliche Zentrum. Wir warteten nicht auf eine vollständige Darstellung der ganzen Welt; normale Aktualisierungen liefen während der Umstellung weiter.

Außerdem verbesserten wir Wiederholungsversuche nach R2-Verbindungsfehlern, das Behalten ausstehender Aktualisierungen nach Schreibfehlern und die Unterscheidung zwischen einer fehlenden Zoom-Kachel und einem Lesefehler. Dynmap-Fork-PR #9 dokumentiert die Wiederaufnahme der Zoom-Aktualisierung nach einem Neustart. Störungen bei Cloudflare selbst werden dadurch nicht ausgeschlossen.

Alte Daten erst nach Prüfung der neuen Bilder entfernen Öffentliche Ausgabe und Speicher vor dem Aufräumen prüfen. Alte Bilder sind nicht gesichert; Einsparungen im Normalbetrieb sind nicht belegt.
  1. Bereich festlegen und neue Kacheln erzeugen 512px-Umfang und Renderbereich festlegen; neue Bilder erstellen, während die üblichen Aktualisierungen weiterlaufen.
  2. Öffentliche Bilder und Speicher prüfen Normale und Zoom-Bilder, Webdateien, Live-JSON und vorgesehene Speicherpräfixe getrennt prüfen.
  3. Altdaten nach dem Audit bereinigen Alte Bilder und Hashes nach dem Audit entfernen. Ohne Sicherung müssen sie bei Bedarf aus der Welt neu gerendert werden.

Öffentliche Darstellung und Speicher getrennt prüfen

Nach der Umstellung prüften wir für jede der 89 veröffentlichten Karten eine normale und eine Zoom-Kachel, insgesamt 178 Bilder. Neben der Größe von 512px kontrollierten wir Webdateien und Live-JSON-Aktualisierungen. In R2 glichen wir die Speicherpfade mit den 89 produktiven Kartenpräfixen ab und bestätigten, dass 192 alte Präfixe für normale und Tagesbilder leer waren.

Erst danach löschten wir 11.707.356 alte Bild- und Hash-Objekte, rund 51,71 GB. Für den Inhalt der alten Bilder gibt es keine Sicherung; bei Bedarf müssen sie aus den Welten neu gerendert werden. Aktuelle Bilder, Welten sowie Konfigurations- und JAR-Sicherungen blieben erhalten. Eine abschließende Prüfung bestätigte, dass keine alten Bilder, Übergangsdaten oder Hash-Dateien übrig waren; der erfolgreiche Abschluss des Löschprozesses allein reichte nicht.

Speicheränderung nicht mit der Rechnung gleichsetzen

In zwei aufeinanderfolgenden 24-Stunden-Zeiträumen mit Migrationsarbeiten sanken erfolgreiche PutObject-Aufrufe von 240.835 auf 90.423. Beide Zeiträume enthalten die Umstellung und belegen daher weder eine Verringerung im Normalbetrieb noch eine monatliche Kostenersparnis. Der Rechnungsbetrag wurde nicht geprüft.

Bei ähnlichen Umstellungen sollten R2-Metriken zu Vorgängen und Speicher getrennt betrachtet und öffentliche Anzeige, aktuelle Bilder und alte Daten nacheinander geprüft werden. Löschumfang und Wiederherstellungsweg müssen vorab feststehen.