branchway

Für APIs

Eine API hat andere Anforderungen als eine Website: Niemand sieht sie an, aber jeder merkt sofort, wenn sie langsam oder unzuverlässig wird.

Das Problem

Bei serverlosen Diensten wird eine selten genutzte API zum Geduldsspiel: Der erste Aufruf nach einer Pause braucht einen Kaltstart. Für eine API, die von anderen Systemen mit Zeitlimit aufgerufen wird, ist das ein echtes Problem – der Aufrufer bricht ab, bevor die Antwort kommt.

Das zweite Thema ist Missbrauch: Eine offene API ohne Begrenzung ist eine Einladung, und die Rechnung merkt es zuerst.

Was hier dafür da ist

  • Dauerhaft laufende Prozesse: kein Kaltstart, gleichbleibende Antwortzeiten.
  • Offene Verbindungen zur Datenbank – bei serverlosen Diensten ist genau das die typische Schwierigkeit.
  • Metriken und Logs je Aufruf, um langsame Endpunkte zu finden.
  • Automatische Skalierung bei schwankender Last, mit Obergrenze gegen Überraschungen.

Wo die Grenzen liegen

Eine fertige API-Verwaltung mit Schlüsselausgabe, Kontingenten und Entwicklerportal gibt es nicht – Begrenzung und Authentifizierung baust du in deine Anwendung ein oder setzt ein eigenes Gateway davor.

Häufige Fragen

Wie begrenze ich Aufrufe?

In der Anwendung, gestützt auf Redis für den Zähler über mehrere Instanzen hinweg. Ohne gemeinsamen Zähler zählt jede Instanz für sich.

Wie versioniere ich?

Entweder über den Pfad in derselben App oder als zweite App unter eigener Adresse – Letzteres erlaubt, alte Fassungen unverändert weiterlaufen zu lassen.

Weiterlesen