- API neu designed, Ziel Reaktionszeit der App immer <1s
→ alle benötigten Daten in 1 request/response
- Peaks (von 50 auf 5000 Clients)
- Multiprozess Architektur (Versandmodul, cron jobs, shared db)
- Langsame Antwortzeiten aufgrund von DB Queries
curl -H 'WEAL_API_KEY: single' http://localhost:3000/v5/current.json | jq .
- Query hat keine Parameter, Information welche Entities in der response vorkommen
werden aus der DB gelesen anhand des User records.
- Komplexe Datenstruktur (nesting von entities)
- Vermischung persönlicher / öffentlicher Daten da alle Daten in 1 request/response
- SSL
curl 'http://localhost:3000/v6/current.json?zip_ids=1000&user_id=6' | jq .
- Entity Ids als Parameter, keine DB queries nötig
- Flachere Struktur
- Nesting nur wenn gleiche Gültigkeit
- unpersönliche, einfach cachebare Daten und persönliche Daten in separaten requests
- alle unpersönlichen Daten gecacht
- teure userbezogene Daten gecacht wo möglich
- Cache vorbefüllt, nicht on-demand
- Komplette Anworten bzw Text Bausteine gecached (nicht json)
- Primitives statt Objekte gecached (serialize / deserialize)
- SSL für nicht sensitive requests deaktiviert
- Changes benchmarken (apache bench)