Jak zapewnić Robustness and Reliability

Definicja pojęcia Jak zapewnić Robustness and Reliability
Metodyki
Definicja Agile

Wzorce zapewniające Robustness i Reliability

 

 1. Circuit Breaker

  • Chroni system przed kaskadowymi awariami.

  • Jeśli zależność zewnętrzna (np. API, baza) przestaje odpowiadać – przerywa próby i wraca od razu z fallbackiem lub błędem.

Biblioteki: resilience4j, Hystrix, AWS Retry Strategy

 2. Retry with Backoff

  • Automatyczne ponawianie operacji (np. 3x co 100ms z narastającym opóźnieniem).

  • Must-have przy chwilowej niedostępności usług zewnętrznych.

 Uwaga: Retry bez Circuit Breakera to przepis na katastrofę (DDoS samego siebie).

 3. Timeouts Everywhere

  • Nigdy nie pozwalaj na „wieszenie się” requestów.

  • Każda komunikacja (z bazą, API, nawet lokalnie) musi mieć timeout (np. 3 sekundy).

 Dotyczy: HTTP clients, DB drivers, SDK (np. AWS SDK), messaging queues.

4. Bulkhead Isolation

  • Oddzielenie części systemu logicznie i technologicznie.

  • Awaria jednej funkcji nie może pociągnąć całego systemu (np. osobne procesy lub kontenery, osobne wątki, osobne pule zasobów).

 Przykład: osobne thread pool’e dla krytycznych i niekrytycznych funkcji.

5. Fail Fast

  • Jeśli coś nie działa – powiedz o tym od razu.

  • Lepiej zakończyć transakcję z błędem niż wisić bez końca.

6. Graceful Degradation

  • Gdy nie możesz wykonać operacji, dostarcz wartość częściową lub komunikat.

  • Przykład: strona e-commerce bez rekomendacji, gdy serwis AI nie działa.

 7. Idempotency

  • Operacje mogą być wykonane wiele razy z tym samym rezultatem.

  • Kluczowe przy płatnościach, aktualizacjach, powtórzeniach requestów (retry).

8. Rate Limiting + Throttling

  • Ochrona systemu przed zalaniem (np. atakiem lub błędnym klientem).

  • Można używać np. Token Bucket / Leaky Bucket + nginx, API Gateway.

9. Chaos Engineering (advanced)

 

  • Świadome wprowadzanie błędów i awarii w systemie, by sprawdzić odporność.

  • Netflix: Simian Army, Chaos Monkey – uczysz się w warunkach bojowych.

Free

Top 40 pytań rekrutacyjnych Java poziom Senior

Free

Pytania rekrutacyjne JavaScript

Free

Pytania rekrutacyjne Spring Framework 

Free

Java pytania rekrutacyjne

Scroll to Top