paint-brush
Der Stand der Webhooks im Jahr 2023by@tomhacohen
1,379
1,379

Der Stand der Webhooks im Jahr 2023

Tom Hacohen4m2023/10/28
Read on Terminal Reader

Webhooks sind heute eine Kernkomponente bei der plattformübergreifenden Steuerung ereignisbasierter Echtzeit-Workflows. Wir haben uns über 100 der führenden API-Anbieter angesehen und untersucht, wie sie Webhooks angenommen und implementiert haben. Sind die meisten führenden API-Anbieter mit Best Practices einverstanden? Wie viele Wiederholungsversuche benötigen diese Nachrichten im Allgemeinen, bevor sie erfolgreich in ihren Zielanwendungen landen?
featured image - Der Stand der Webhooks im Jahr 2023
Tom Hacohen HackerNoon profile picture
0-item


Da Software weiterhin die Welt verschlingt, hat die zunehmende Betonung von Echtzeitinformationen, nahtlosen Integrationen und Automatisierung Webhooks an die Spitze moderner Anwendungsarchitekturen gebracht. Webhooks sind heute eine Kernkomponente bei der plattformübergreifenden Steuerung ereignisbasierter Echtzeit-Workflows. Den vollständigen Bericht können Sie hier lesen .


Besonderer Dank geht an Ojus Save von Zoom, Judy Vander Sluis von Intuit, Sharon Yelenik von Cloudinary, Sarah Edwards von Github und Kanad Gupta von ReadMe für die Zusammenarbeit mit uns bei unseren Webhook-Dokumentationsüberprüfungen. Es hat uns wirklich geholfen zu verstehen, wie Menschen über die Dokumentation ihrer Webbook-APIs denken, und hat viele unserer Entscheidungen bei der Erstellung dieses Berichts beeinflusst.


In diesem umfassenden Bericht über den Stand von Webhooks im Jahr 2023 haben wir uns über 100 der führenden API-Anbieter angesehen, untersucht, wie sie Webhooks angenommen und implementiert haben, und die unterschiedlichen Formen dieser Implementierungen analysiert. Sind die meisten führenden API-Anbieter mit Best Practices einverstanden? Wie haben sie über die bloße Einführung hinaus ihre Webhook-Angebote optimiert, gesichert und bereichert, um den Anforderungen heutiger Entwickler und Unternehmen gerecht zu werden?


Da wir erkannt haben, dass in realen Anwendungsfällen häufig grundlegende Fakten ans Licht kommen, haben wir auf unseren eigenen Kundenstamm zurückgegriffen und einen interessanten Bestand an Statistiken zusammengestellt, die Aufschluss über die Realität von Webhook-Bereitstellungen geben. Wie oft schwanken sie in freier Wildbahn? Wie viele Wiederholungsversuche benötigen diese Nachrichten im Allgemeinen, bevor sie erfolgreich in ihren Zielanwendungen landen? Diese Statistiken aus erster Hand bieten nicht nur ein klares Bild der aktuellen Liefererfolgsraten, sondern zeigen auch den Wert der Implementierung von Best Practices.


Im Allgemeinen haben wir festgestellt, dass die Webhook-Akzeptanz mit 83 % hoch ist. Die Umsetzung der meisten Best Practices hinkt jedoch hinterher.

Wiederholungen

Bei Wiederholungsversuchen wird ein Webhook erneut gesendet, wenn ein Versuch fehlschlägt. Sie sind für einen zuverlässigen Webhook-Dienst von entscheidender Bedeutung, da vorübergehende Netzwerkprobleme, Serverausfallzeiten oder andere vorübergehende Fehler die sofortige Datenbereitstellung behindern können.


67 % der Dienste boten automatische Wiederholungsversuche an. Die am häufigsten angebotene Anzahl an Wiederholungsversuchen beträgt 5, wobei die meisten zwischen 3 und 10 Wiederholungsversuche anbieten. Etwa 10 % der Dienste gaben an, dass sie fehlgeschlagene Nachrichten erneut versuchten, machten jedoch keine Angaben zum Wiederholungsplan selbst.


Verteilung der Anzahl der angebotenen Wiederholungsversuche

Wiederholungsversuche: Exponentieller Backoff

Webhook-Wiederholungsversuche nutzen einen exponentiellen Backoff, um Fehler effizient zu behandeln, ohne den empfangenden Server zu überlasten.


Durch die schrittweise Erhöhung der Wartezeit zwischen Wiederholungsversuchen wird das Risiko einer Verschlimmerung potenzieller Serverprobleme verringert und ein anpassungsfähigerer Ansatz für den Umgang mit vorübergehenden Ausfällen bereitgestellt.


25/83 Anbieter gaben an, dass ihr Wiederholungsplan einem exponentiellen Backoff folgt.



Zusammenfassend lässt sich sagen, dass Webhooks von den meisten API-Anbietern übernommen werden, es ihnen jedoch meist nicht gelingt, Best Practices umzusetzen. Selbst diejenigen, die die meisten Best Practices umsetzen, tun dies auf unterschiedliche Weise. Der Raum ist so fragmentiert, dass die einzigen Anbieter mit ähnlichen Implementierungen diejenigen waren, die überhaupt keine Best Practices implementiert haben. Wir hoffen, dass dieser Bericht zu einer verstärkten Einführung von Best Practices für Webhooks führen wird, um die Entwicklererfahrung rund um Webhooks zu verbessern.

Manuelle Wiederholungsversuche

Durch die Möglichkeit, Nachrichten manuell zu wiederholen, wird die Fehlerbehebung beschleunigt. Es ist schneller, einen Wiederholungsversuch sofort auszulösen, anstatt auf den nächsten automatischen Wiederholungsversuch zu warten. 12/83 Anbieter gaben an, dass Wiederholungsversuche manuell ausgelöst werden könnten. Dies war die am wenigsten übernommene Best Practice.

Protokollierung

Zu Test-, Fehlerbehebungs- und Debugzwecken ist ein Protokoll der Webhook-Zustellungsversuche äußerst nützlich. Mit einer Akzeptanzrate von 23 % war dies die am zweithäufigsten genutzte Funktionalität.

Ereignistypen

Durch die Organisation der den Webhook-Konsumenten angebotenen Ereignisse in Ereignistypen können Benutzer auswählen, für welche Ereignisse sie Webhooks erhalten möchten, und die Anzahl der gesendeten unnötigen und irrelevanten Nachrichten wird reduziert.


93 % der Anbieter boten Veranstaltungsarten an. Dies ist die am weitesten verbreitete Best Practice, die wahrscheinlich auf die Tatsache zurückzuführen ist, dass Ereignisse der Kernwert von Webhooks sind.

Nachrichtenauthentifizierung

Den Benutzern die Möglichkeit zu geben, den Ursprung und den Inhalt einer Webhook-Nachricht zu authentifizieren, ist von entscheidender Bedeutung, um sicherzustellen, dass die Daten während der Übertragung nicht manipuliert wurden, und um sicherzustellen, dass sie von einer vertrauenswürdigen Quelle stammen


Die beste Vorgehensweise besteht darin, HMACSHA256-Signaturen zu verwenden, die Nutzlast, Zeitstempel und Nachrichten-ID enthalten.



45 von 83 Webhook-Anbietern enthielten einen Zeitstempel. Der Zeitstempel ist entscheidend für die Verhinderung von Replay-Angriffen.

Dokumentation

Die gute Dokumentation eines Webhook-Dienstes kann Benutzern Zeit und Kopfschmerzen ersparen.


Beispielcode erleichtert Entwicklern das Leben. Während nur 43 % Codebeispiele anboten, korrelierte die Einbeziehung von Codebeispielen stark mit der Verwendung von HMACSHA256-Signaturen.


Dokumentation

Testen

Die beste Webhook-Dokumentation bietet Anleitungen zum Testen ihrer Webhook-Implementierungen. Zu den allgemeinen Anleitungen gehören das lokale Testen von Webhooks (hauptsächlich mit ngrok), das Auflisten verschiedener Tools zum Hochfahren von Endpunkten zum Empfangen von Testnachrichten und das Bereitstellen der Möglichkeit, Testereignisse zu senden.


Es besteht ein hoher Zusammenhang zwischen Codebeispielen und der Bereitstellung von Anleitungen und Tools zum Testen von Webhooks.


72 % derjenigen, deren Dokumente Codebeispiele enthalten, stellten auch Testanleitungen zur Verfügung.

Lieferung

Im vollständigen Bericht präsentieren wir auch einige interne Daten von Svix, um zu sehen, wie oft Nachrichten fehlschlagen, wie oft Wiederholungsversuche erfolgreich sind, durchschnittliche Antwortzeiten und durchschnittliche Nutzlastgrößen von Webhook-Nachrichten.


Lesen Sie den vollständigen Bericht



Für weitere Inhalte wie diesen folgen Sie uns unbedingt auf Twitter , Github oder RSS , um die neuesten Updates für den Svix-Webhook-Dienst zu erhalten, oder nehmen Sie an der Diskussion in unserer Community Slack teil.