feat(): Add 8.2 practies

This commit is contained in:
Black_Raven committed 2026-06-19 21:00:59 +03:00
1 parent 2c2f8d0d59
commit 0302da1fd7
4 files changed
+100

No files matched your search

+2
View File
@@ -142,4 +142,6 @@ VKC_LR_04_cicd_gitops_app-config_РемизовКЛ_20260619.png,EVIDENCE,LR_04,
VKC_LR_04_cicd_gitops_log_РемизовКЛ_20260619.log,EVIDENCE,LR_04,main,Лог выполнения команд (установка ArgoCD),02_evidence/VKC_LR_04_cicd_gitops_log_РемизовКЛ_20260619.log,VKC_LR_04_cicd_gitops_REPORT_РемизовКЛ_20260619.md,final,
VKC_CASE_03_migration_РемизовКЛ_20260619.md,CASE,M08,CASE_03,Анализ и выбор стратегии миграции LAMP-приложения,01_reports/VKC_CASE_03_migration_РемизовКЛ_20260619.md,,final,
VKC_CASE_03_migration_IvanovII_20260619.drawio.png,DIAGRAM,M08,CASE_03,Схема целевой архитектуры интернет-магазина в VK Cloud,04_diagrams/VKC_CASE_03_migration_IvanovII_20260619.drawio.png,,final,
VKC_ARCH_M08_highload_store_REPORT_РемизовКЛ_20260619.md,CASE,M08,8.2,Проектирование высоконагруженной архитектуры интернет-магазина,01_reports/VKC_ARCH_M08_highload_store_REPORT_РемизовКЛ_20260619.md,,final,
VKC_ARCH_M08_highload_store_diogram_РемизовКЛ_20260619.drawio.png,DIAGRAM,M08,8.2,Схема архитектуры высоконагруженного интернет-магазина,04_diagrams/VKC_ARCH_M08_highload_store_diogram_РемизовКЛ_20260619.drawio.png,VKC_ARCH_M08_highload_store_REPORT_РемизовКЛ_20260619.md,final,
00_manifest.csv,MANIFEST,all,all,Финальный манифест сдачи,00_manifest.csv,,final,
1 file_name artifact_type module_or_lab task_code task_title relative_path evidence_for status comment
142 VKC_LR_04_cicd_gitops_log_РемизовКЛ_20260619.log EVIDENCE LR_04 main Лог выполнения команд (установка ArgoCD) 02_evidence/VKC_LR_04_cicd_gitops_log_РемизовКЛ_20260619.log VKC_LR_04_cicd_gitops_REPORT_РемизовКЛ_20260619.md final
143 VKC_CASE_03_migration_РемизовКЛ_20260619.md CASE M08 CASE_03 Анализ и выбор стратегии миграции LAMP-приложения 01_reports/VKC_CASE_03_migration_РемизовКЛ_20260619.md final
144 VKC_CASE_03_migration_IvanovII_20260619.drawio.png DIAGRAM M08 CASE_03 Схема целевой архитектуры интернет-магазина в VK Cloud 04_diagrams/VKC_CASE_03_migration_IvanovII_20260619.drawio.png final
145 VKC_ARCH_M08_highload_store_REPORT_РемизовКЛ_20260619.md CASE M08 8.2 Проектирование высоконагруженной архитектуры интернет-магазина 01_reports/VKC_ARCH_M08_highload_store_REPORT_РемизовКЛ_20260619.md final
146 VKC_ARCH_M08_highload_store_diogram_РемизовКЛ_20260619.drawio.png DIAGRAM M08 8.2 Схема архитектуры высоконагруженного интернет-магазина 04_diagrams/VKC_ARCH_M08_highload_store_diogram_РемизовКЛ_20260619.drawio.png VKC_ARCH_M08_highload_store_REPORT_РемизовКЛ_20260619.md final
147 00_manifest.csv MANIFEST all all Финальный манифест сдачи 00_manifest.csv final
@@ -0,0 +1,98 @@
---
course_code: VKCLOUD-80
artifact_type: CASE
case_code: ARCH_HIGHLOAD_STORE
case_title: Проектирование высоконагруженной архитектуры интернет-магазина
student_fio: Ремизов К.Л.
date: 2026-06-19
source_docs: [3-Конспект лекций - VK 1.md,2- Тематический план - VK -1.md, 7-Шпаргалка студента -VK-1.md]
attached_files: [VKC_ARCH_M08_highload_store_diogram_РемизовКЛ_20260619.drawio.png]
status: final
---
# Разбор практического кейса
## 1. Суть кейса
Разработать облачную архитектуру для высоконагруженного интернет-магазина, который должен выдерживать пиковые нагрузки в периоды распродаж (например, «чёрная пятница»), обеспечивать высокую доступность (отказоустойчивость) и горизонтальное масштабирование. Требуется выбрать и обосновать набор сервисов VK Cloud, спроектировать схему взаимодействия компонентов и описать меры по обеспечению надёжности.
## 2. Ограничения и исходные условия
- **Платформа** – VK Cloud (все сервисы должны быть доступны в этом облаке).
- **Бюджет** – не фиксирован, но желательна оптимизация затрат (FinOps).
- **Временные ограничения** – проект должен быть реализован в рамках курса (модуль 8).
- **Технические требования**:
- Поддержка > 10 000 RPS в пик.
- Время отклика страницы < 200 мс (95-й перцентиль).
- Доступность 99.99% (4 девятки).
- Безопасность: защита от DDoS и веб-атак.
- Асинхронная обработка заказов (не блокировать пользователя).
- Кэширование часто запрашиваемых данных.
- Мониторинг и алертинг.
## 3. Варианты решения
| Вариант | Плюсы | Минусы | Когда применять |
|---------|-------|--------|-----------------|
| **A. Монолит на ВМ с ручным масштабированием** | Простота разработки, низкие начальные затраты | Единая точка отказа, сложность горизонтального масштабирования, ручное управление, отсутствие гибкости | Для небольших проектов с низкой нагрузкой и статичным трафиком |
| **B. Микросервисы в Kubernetes с управляемыми сервисами (предлагаемый)** | Горизонтальное масштабирование, отказоустойчивость, автоматическое восстановление, гибкость обновлений | Более высокая сложность и стоимость, требует DevOps-культуры | Для высоконагруженных и динамичных проектов, требующих быстрой эволюции |
| **C. Серверлес (VK Cloud Functions)** | Минимальное администрирование, оплата за вызовы | Ограничения по времени выполнения, языкам, холодный старт, сложность управления состоянием | Для эпизодических и простых задач (не для основного магазина) |
**Выбран вариант B** как наиболее соответствующий всем требованиям по нагрузке, доступности и гибкости.
## 4. Выбранное решение и обоснование
### 4.1. Состав компонентов (все из VK Cloud)
| Компонент | Сервис VK Cloud | Обоснование |
|-----------|-----------------|-------------|
| **CDN** | VK Cloud CDN | Географически распределённая доставка статики (изображения, CSS, JS) – снижает нагрузку на бэкенд и ускоряет загрузку для пользователей по всему миру. |
| **Балансировщик L7** | VK Cloud Load Balancer (Application LB) | Распределение HTTP/HTTPS трафика, поддержка health checks и маршрутизации по URL (например, `/api/*` → K8s, `/static/*` → CDN). |
| **WAF + AntiDDoS** | VK Cloud WAF и AntiDDoS | Защита от SQL-инъекций, XSS и DDoS-атак – критично для публичного интернет-магазина. |
| **Веб-серверы (frontend)** | Auto Scaling Group (ВМ с nginx) | Обработка статики и проксирование на K8s; горизонтальное масштабирование по CPU/RPS; дешёвый и управляемый слой. |
| **Микросервисы (backend)** | Managed Kubernetes | Контейнерная оркестрация: автоматическое масштабирование (HPA), самовосстановление, канареечные обновления. Поддерживает 55 000 подов на кластер. |
| **Кэш** | Managed Redis Cluster (шардированный) | Хранение сессий, кэш каталога, цен. Микросекундная задержка, кластерная отказоустойчивость. |
| **Основная БД** | Managed PostgreSQL (шардирование) | Реляционная БД для товаров, заказов, пользователей. Шардирование позволяет горизонтально масштабироваться (ключ – `user_id`). |
| **Реплики для чтения** | PostgreSQL replicas | Тяжёлые аналитические запросы и отчёты идут на реплики, не нагружая мастер. |
| **Очередь сообщений** | Cloud Kafka / RabbitMQ | Асинхронная обработка заказов (списание товаров, email, SMS, бонусы). Разгружает критический путь запроса. |
| **Мониторинг** | Prometheus + Grafana (развёрнутые в K8s) | Сбор метрик, дашборды, алертинг – основа наблюдаемости. |
### 4.2. Почему именно эти сервисы?
- **Kubernetes** выбран вместо чистых ВМ, потому что он обеспечивает декларативное управление, автоматическое масштабирование и восстановление, что критично для высокой нагрузки.
- **Redis** – лучшее решение для кэширования благодаря скорости и поддержке кластеров.
- **PostgreSQL** – зрелая СУБД с поддержкой сложных запросов и транзакций; шардирование решает проблему роста данных.
- **Kafka** гарантирует надёжную доставку сообщений и позволяет масштабировать воркеры независимо.
## 5. Риски и меры снижения
| Риск | Вероятность | Влияние | Мера снижения |
|------|-------------|---------|---------------|
| Отказ master-узла PostgreSQL | Средняя | Высокое (заказы не создаются) | Автоматический failover на реплику; регулярные бэкапы в S3. |
| Перегрузка Redis (кэш не попадает) | Низкая | Среднее (рост нагрузки на БД) | Мониторинг использования памяти; автоскейлинг кластера; настройка TTL. |
| DDoS-атака | Высокая | Критическое | Встроенный AntiDDoS VK Cloud + WAF; ограничение частоты запросов. |
| Ошибка в микросервисе (краш) | Средняя | Среднее | Kubernetes автоматически пересоздаёт под; канареечные обновления; откат через GitOps. |
| Человеческий фактор (неправильная конфигурация) | Средняя | Высокое | Всё описывается как код (IaC) – Terraform и Helm; код-ревью; CI/CD проверяет конфигурации. |
| Превышение бюджета | Средняя | Среднее | FinOps: тегирование ресурсов, бюджетные алерты, использование Spot-инстансов для тестовых сред. |
## 6. Артефакты
| Файл | Назначение |
|------|------------|
| `VKC_ARCH_M08_highload_store_diogram_РемизовКЛ_20260619.drawio.png` | Схема архитектуры (экспорт из draw.io) в формате PNG |
| `VKC_ARCH_M08_highload_store_REPORT_РемизовКЛ_20260619.md` | Данный отчёт (заполненный шаблон) |
**Схема архитектуры** представлена на изображении ниже:
![Схема архитектуры высоконагруженного интернет-магазина](VKC_ARCH_M08_highload_store_diogram_РемизовКЛ_20260619.drawio.png)
## 7. Вывод
Предложенная архитектура на базе управляемых сервисов VK Cloud обеспечивает:
- **Отказоустойчивость** – каждый компонент имеет резервирование, распределение по зонам доступности, автоматический failover.
- **Горизонтальное масштабирование** – все слои (веб-серверы, микросервисы, кэш, БД, очередь) могут расширяться при росте нагрузки.
- **Высокую производительность** – CDN, Redis и реплики БД для чтения гарантируют низкие задержки.
- **Безопасность** – WAF и AntiDDoS защищают от внешних угроз.
- **Управляемость** – IaC, CI/CD и GitOps упрощают эксплуатацию и обновления.
Реализация данной архитектуры в VK Cloud полностью покрывает требования высоконагруженного интернет-магазина и соответствует лучшим практикам облачного проектирования.
Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

BIN
View File
Binary file not shown.