Skip to content

Reactive Manifesto

![[6f388af2f0687846ec167b08f3c97c8c.png]]

Reactive Manifesto описывает четыре ключевые характеристики таких систем. Они должны быть отзывчивыми, устойчивыми, эластичными и основанными на обмене сообщениями Message Driven. Системы, обладающие такими характеристиками, следуя документу, называются реактивными (reactive).

  • Устойчивость (resilience) — устойчивость к отказам. Изоляция отказов в конкретном участке системы.
  • Эластичность (elasticity) — система реагирует на изменения в нагрузке, изменяя потребление своих ресурсов.
  • Message Driven — система основана на обмене сообщениями.

Отзывчивость

  • Система обеспечивает консистентное время ответа, особенно в аварийных ситуациях.
  • Система деградирует предсказуемым образом — обеспечивает минимальный уровень сервиса либо отвечает ошибкой.

Устойчивость

  • Системы должны быть устойчивыми перед отказами.
  • Изолируем отказы в определенных границах.
  • Обеспечиваем доступность системы.

Message Driven

Коммуникация в распределенной системе должна быть основана на обмене сообщениями:

  • Так мы достигнем слабой связанности, автономности и изоляции компонентов.
  • Обеспечим Location transparency — коммуникацию между компонентами, которая не зависит от топологии системы (локации, адреса, серверы, количества инстансов и прочее).

Эластичность

Система реагирует на изменение нагрузки, управляя своими ресурсами.