Toolverse
Wszystkie skille

emitting-api-events

autor: jeremylongshore

Buduj API oparte na zdarzeniach z webhookami, SSE i powiadomieniami w czasie rzeczywistym

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
2

O skillu

Skill do tworzenia architektur API sterowanych zdarzeniami. Implementuj webhooks, Server-Sent Events i integrację z brokerami wiadomości (Redis, RabbitMQ, Kafka). Zarządzaj subskrypcjami, definiuj schematy zdarzeń z wersjonowaniem, obsługuj ponawianie dostaw i prowadź pełny dziennik zmian stanu API. Użyj gdy dodajesz webhooks, implementujesz zdarzenia lub tworzysz API oparte na zdarzeniach.

Jak używać

  1. Przygotuj infrastrukturę: upewnij się, że masz dostęp do brokera wiadomości (Redis Pub/Sub, RabbitMQ, Apache Kafka lub AWS SNS/SQS), bazy danych do przechowywania dziennika zdarzeń i rejestracji subskrybentów (PostgreSQL, MongoDB) oraz system dostarczania webhooków z obsługą ponowień (Bull, Celery lub usługa zarządzana).

  2. Zidentyfikuj operacje emitujące zdarzenia: użyj Grep i Read do przeanalizowania kodu API i wylistowania wszystkich mutacji (POST, PUT, PATCH, DELETE), które powinny emitować zdarzenia. Nazwij typy zdarzeń według konwencji zasób.akcja (np. order.created, user.updated).

  3. Zdefiniuj schematy zdarzeń dla każdego typu: każdy schemat powinien zawierać eventId (UUID), eventType, version, timestamp (ISO 8601), source (identyfikator usługi) i data (ładunek specyficzny dla typu).

  4. Wdrożyć usługę emitującą zdarzenia: skonfiguruj publikowanie zdarzeń do brokera wiadomości po pomyślnych mutacjach API, używając wzorca transactional outbox aby zapobiec utracie zdarzeń w przypadku awarii aplikacji.

  5. Zbuduj system zarządzania subskrypcjami webhooków: pozwól klientom rejestrować adresy URL, obsługuj logikę ponawiania dostaw z backoffem eksponencjalnym i prowadź historię prób dostarczenia.

  6. Skonfiguruj Server-Sent Events dla klientów przeglądarki: zaimplementuj endpoint SSE do przesyłania zdarzeń w czasie rzeczywistym do połączonych klientów, opcjonalnie z filtrowaniem po typach zdarzeń.

Podobne skille