Coconote
AI notes
AI voice & video notes
Try for free
💻
Современные технологии бэкэнда
Jul 13, 2024
Современные технологии бэкэнда
Введение
Лектор: Влад, разработчик.
Тема: Технологии бэкэнда, пр имеры использования Kafka и Redis.
Цель: Рассмотрение архитектуры приложений от простейшего уровня до уровня приложений с миллионной нагрузкой.
Основные понятия
Frontend
Взаимодействует с пользователями
Основные виды: веб-интерфейсы и мобильные приложения
Разработка:
Веб-интерфейсы: JavaScript, React
Мобильные приложения: Swift (iOS), Java/Kotlin (Android)
Backend
Обработка сложных операций, требующих много ресурсов
Сервер: мощный компьютер для выполнения запросов пользователей
Замыкание на сервере мощных программ (Java, Spring, Golang, C#, Python)
Коммуникация между фронтендом и бэкэндом
Протокол HTTP
Стандартизированный формат передачи данных
Запрос-ответ
REST: Стиль описания взаимодействия с конечными точками (эндпоинтами)
База данных
Необходимость хранения данных
SQL базы данных (PostgreSQL, MySQL, Oracle DB, Microsoft SQL Server)
Взаимодействие с базой данных через SQL-запросы
Проблемы высокой нагрузки
Кэширование
Подробнее о Redis и Memcached
Использование кэша для хранения популярных данных в оперативной памяти
Масштабирование приложений
Разделение монолитного приложения на микросервисы
Индивидуальное масштабирование микросервисов
Репликация и балансировка нагрузки
Репликация
Запуск приложения на нескольких серверах для повышения надежности
Применение к базам данных и кэшированию
Мастер-реплики и слейв-реплики
Балансировка нагрузки
Использование программ-балансировщиков (например, Nginx)
Равномерное распределение запросов между серверами
Брокеры сообщений
Kafka как пример брокера сообщений
Разделение обработки сообщений от публикации их в очередь
Облачные вычисления
AWS и другие облачные сервисы (Google Cloud, Azure, Heroku)
Аренда серверов для динамического масштабирования
Логи и мониторинг
Логи
Запись действий и ошибок приложения в текстовые файлы
ElasticSearch + Kibana для поиска логов
Мониторинг метрик
Сбор метрик с помощью Prometheus
Визуализация данных с помощью Grafana
Заключение
Влад предлагает курсы по углубленному изучению технологий (Spring, Kafka, Redis и т.д.)
Приглашение на буткемп по Java для разработчиков
📄
Full transcript