Projekty

Open Source

Async Webhook Delivery Engine

PHP
Symfony
Webhooks
Event-driven
Backend

Odporny silnik dostarczania webhooków z circuit breaker, exponential backoff i rate limitingiem per domena klienta.

event POST /hook Symfony Messenger circuit breaker Redis SETNX lock target webhook DLQ · backoff · 429 Async Webhook Engine Symfony 7 · Redis · PHPStan 9

O projekcie

Silnik dostarczania webhooków zaprojektowany do przetwarzania asynchronicznych zdarzeń pod ścisłymi limitami szybkości i warunkami awarii. System zapewnia wysoką przepustowość przy zachowaniu odporności na błędy zdalnych endpointów.

Repozytorium: github.com/kopolot/example-async-weebhook-engine

Kluczowe implementacje

Odporność na awarie

Wzorzec Circuit Breaker do wstrzymywania wysyłek do niedostępnych endpointów, połączony z Exponential Backoff Retries i routingiem Dead Letter Queue (DLQ) dla nieodzyskiwalnych payloadów.

Współbieżność i limitowanie zapytań

Atomowe blokady Redis (SETNX) egzekwujące limity współbieżności per domena klienta, zapobiegając zalewaniu serwerów docelowych i obsługując backpressure HTTP 429.

Jakość kodu

Ścisłe typowanie (declare(strict_types=1)), PHPStan Level 9, automatyczny zestaw testów PHPUnit i pipeline CI w GitHub Actions.