Шаблоны проектирования микросервисов на примере АвитоАрхитектуры, масштабируемость
Расскажу про проблемы, с которыми мы столкнулись при разработке одного из самых нагруженных сервисов Авито, а именно о базовых шаблонах проектирования микросервисной архитектуры. А также расскажу, почему разрабатывать, поддерживать и чинить проблемы в микросервисной архитектуре гораздо сложнее, чем в монолите, и что нужно сделать, чтобы облегчить этот процесс.
Рассмотрим следующие шаблоны проектирования, а также опыт их внедрения:
- Graceful degradation / Null object pattern.
- Bounded context.
- Circuit breaker.
- Работа с timeouts.
Помимо этого, рассмотрим такие аспекты как: health check, cold start.