microservices-patterns
Projektuj rozproszone systemy z podziałem na usługi, komunikacją asynchroniczną i wzorcami odporności
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umiejętność do projektowania architektur mikrousług. Nauczysz się organizować usługi wokół granic biznesowych, implementować komunikację między nimi oraz budować systemy odporne na awarie. Obejmuje strategie dekompozycji monolitów, wzorce synchroniczne i asynchroniczne, zarządzanie danymi rozproszonymi oraz techniki odporności takie jak circuit breaker czy bulkhead. Idealna do budowania systemów rozproszonych, stopniowego rozkładu starszych aplikacji i wdrażania architektur opartych na zdarzeniach.
Jak używać
Zainstaluj umiejętność w swoim środowisku agenta, dodając ją do konfiguracji wtyczek backend-development.
Zacznij od określenia, czy rozkładasz istniejący monolityczny system czy projektujesz nową architekturę rozproszoną. Umiejętność wspiera oba scenariusze.
Wybierz strategię dekompozycji usług: organizuj je wokół zdolności biznesowych (np. OrderService, PaymentService) lub zastosuj podejście Domain-Driven Design z ograniczonymi kontekstami. Dla stopniowego przejścia rozważ wzorzec Strangler Fig.
Zdecyduj o sposobie komunikacji między usługami. Dla synchronicznej komunikacji request/response użyj REST, gRPC lub GraphQL. Dla asynchronicznej wybierz event streaming (Kafka), kolejki wiadomości (RabbitMQ, SQS) lub wzorce Pub/Sub.
Zaplanuj zarządzanie danymi: każda usługa powinna posiadać własną bazę danych bez dzielenia schematów. Do obsługi transakcji rozproszonych zastosuj wzorzec Saga z akcjami kompensacyjnymi.
Wdrożyć wzorce odporności: circuit breaker do szybkiego zawodzenia przy powtarzających się błędach, retry z exponential backoff do obsługi błędów przejściowych oraz bulkhead do izolacji zasobów i ograniczenia wpływu awarii na cały system.