-
Notifications
You must be signed in to change notification settings - Fork 7
Scalability
Konzepte zur massiven Skalierung (massiv = hunderte Kommunen pro Monat)
Herausforderung: Große Städte können mehrere Megabyte Daten haben (viel Info und Bilder). Alles synchron bei der Stadtauswahl zu laden dauert zu lang.
Lösung: Pagination
Herausforderung: Wenn viele Kommunen/Organisationen Daten eintragen und gleichzeitig viele Anfragen an die REST API kommen, dauern die Requests irgendwann zu lange.
Lösung: Read-Only Instanz für die REST API
Lösung: CDN, um die Last auf verschiedene Server zu verteilen. Ggf. eigene Server für die Datenbank.
Herausforderung: Verschiedene {Städte, Personen, Sprachen, Geräte, App Versionen} - jede Kombination kann andere Issues haben. Wir müssen sie organisiert und übersichtlich halten.
Herausforderung: Alle Inhalte in verschiedenen Sprachen zu erarbeiten und einzutragen ist aufwändig.
Lösung: Datenübernahme anderer Städte: bis auf Stadt-spezifische Details ist der Aufbau und Inhalt vieler Inhalte austauschbar.
Lösung: Benutzer-führende Dateneingabe, in der man nacheinander nach der Eingabe von Stadt-Details gefragt wird, ohne alles komplett neu zu schreiben.
Herausforderung: Es gibt Inhalte, die gelten auf einer deutschlandweiten Ebene. Diese können sich ändern und müssen upgedatet werden. Einzelne Städte haben nicht zwingend Interesse, zusätzlich globale Inhalte zu pflegen.
Herausforderung: Neue Versionen müssen getestet werden und dürfen keine bestehende Funktionalität brechen.
Herausforderung: Ein Pull vom Livesystem, um die lokale Datenbank anzupassen dauert jetzt schon mehrere Minuten. Mit noch mehr Städten wird diese Last weiter steigen.
Lösung: Aufbauend auf der database.sql ein search-replace und diese ausführen. Damit vermeidet man zumindest den schleppenden Netzverkehr.