Шаблони архітектури застосунків в AWS
Розгортання застосунків в AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Познайомтеся з викладачем
Чому важливо обрати правильну архітектуру
Архітектура — це набір
компромісів
, а не єдина відповідь
Три запитання визначають вибір:
Наскільки щільно компоненти
зв'язані
?
Де зберігається
стан
?
Комунікація
синхронна чи асинхронна
?
Підбирайте шаблон під
навантаження
, а не тренди
П'ятничний каскад збоїв
Повільний платіжний API «заморожує» весь чекаут
Усі сервіси чекали на нього синхронно
Рішення — архітектура, а не швидший API
Чому архітектурні вибори визначають деплоймент
Обраний шаблон визначає, як застосунок
масштабується й відмовляє
Тісна зв'язність ламається під навантаженням
Правильний шаблон робить деплой передбачуваним
Той самий код — зовсім інша поведінка в продакшені
Базові шаблони архітектури
Моноліт
: один юніт деплою, легко стартувати
Мікросервіси
: незалежні сервіси, деплояться окремо
Подійно-орієнтована
: компоненти реагують на події, а не прямі виклики
Fanout
— підшаблон подійної архітектури: одна подія для багатьох споживачів
Станова проти безстанової
Безстанова
: між запитами клієнтські дані не зберігаються
Будь-який інстанс може обробити будь-який запит
Станова
: інстанс пам'ятає попередні взаємодії
Безстановість дозволяє
горизонтальне масштабування
Винесіть спільний стан у
DynamoDB
чи
ElastiCache
Тісна vs слабка зв'язність
Тісна зв'язність
: викликач чекає відповіді викликаного
Один повільний сервіс стопорить увесь ланцюг
Слабка зв'язність
: між сервісами стоїть черга
Amazon SQS
Продюсер працює далі, навіть якщо конс'юмер недоступний
Синхронна vs асинхронна
Синхронна
: викликач блокується й чекає результат
Використовуйте, коли відповідь потрібна негайно
Асинхронна
: викликач передає роботу й повертається
Підходить для повільних, «сплескових» або не термінових задач
Шаблони стійкості для сторонніх викликів
Повтор із експоненційною затримкою
: щораз довше очікування між спробами
Запобіжник (circuit breaker)
: тимчасово припинити виклики до сервісу, що падає
Черга «мертвих» листів
: відкласти повідомлення, що постійно фейляться
Комбінуйте підходи; суцільні ретраї лише погіршують збої
Давайте потренуємось!
Розгортання застосунків в AWS
Preparing Video For Download...