Обучение длится 10 часов
Автор: Глеб Учитель
Проектирование архитектуры и интеграций (API / брокеры) сервисов

Чему вы научитесь:

  • Выявление функциональных и нефункциональных требований
  • Выбор лучшего архитектурного решения для вашего веб-сервиса
  • Проектирование распределенных систем с учетом CAP-теоремы, ACID и BASE
  • Основы работы с реляционными и NoSQL базами данных
  • Применение различных архитектурных паттернов и стилей
  • Проектирование интеграции по API и с брокерами сообщений, моделирование в UML
  • Использование популярных технологий в интеграциях - синхронных и асинхронных
  • Выбор оптимального решения под конкретную задачу интеграции
  • Тестирование и исследование API в инструментах cURL, Postman, SOAP UI, Chrome DevTools
  • Обеспечение безопасности и производительности вашей интеграции
  • Документирование с помощью Swagger и других инструментов
  • Разработка своего API на Python

Вы легко и просто усвоите широкий материал со всеми понятиями проектирования интеграций с помощью API и брокеров сообщений, о которых необходимо знать:

  • Модель TCP/IP и протоколы - HTTP, TCP, UDP, TLS, HTTPS
  • Разница между веб-сервисом, веб-сайтом, API и SDK
  • Инструменты тестирования и исследования API - cURL, Postman, SOAP UI, Chrome DevTools
  • Создание данных в различных форматах - JSON, XML, YAML
  • Проектирование API в популярных синхронных технологиях - JSON-RPC, SOAP, GraphQL, gRPC, REST. И в асинхронных инструментах - HTTP Async (Callback, Polling, Long Polling), Webhooks, WebSockets, Server Sent Events. Их различия, преимущества и варианты использования
  • Документирование API в OpenRPC, схемах XSD+WSDL / SDL / Proto, OpenApi Swagger, AsyncAPI Spec
  • Api First и Code First подходы
  • Концепции API веб-сервисов - клиент-серверная модель и масштабируемость веб-сервисов
  • Работа со списками данных в API: сортировка, фильтрация, пагинация
  • Согласование содержимого и MIME-типы
  • Основы конфиденциальности: хеширование, ключи шифрования, электронная подпись
  • Разница между аутентификацией, идентификацией и авторизацией. А также технологии: Api-Key, токены доступа, mTLS, JWT, oAuth2 + OpenID Connect
  • Безопасность: защита вашего API от злоумышленников
  • Семантическое версионирование
  • Производительность API: управление кешированием, batch-запросы, chunked-запросы, rate limiting, retry, timeout
  • Проектирование интеграции с нуля - сбор требований и моделирование в UML
  • Интеграции через брокеры сообщений: понятия, преимущества и области применения
  • Внутреннее устройство брокеров сообщений: RabbitMQ, Apache Kafka
  • Работа с паттернами асинхронного обмена сообщениями: Request-Reply, Publish-Subscribe, Point-to-Point
  • Проектирование надежных, безопасных и эффективных интеграций с использованием брокеров сообщений
  • Гарантии доставки и очерёдность доставки
  • Другие стили интеграции (файлы, общая БД)
  • Реализация своего API с помощью кода на Python

Вы легко и просто усвоите широкий материал со всеми понятиями о проектировании архитектуры веб-сервисов, о которых необходимо знать:

  • Введение в архитектуру веб-приложений
  • Распределённые системы в контексте веб-сервисов - что это?
  • Архитектурные стили (монолит, микросервисы, SOA и т.д.)
  • Типы межсервисных взаимодействий (интеграций)
  • Архитектурные паттерны: API Gateway, Backend for Frontend, Servise Mesh и др.
  • Параллелизм, согласованность (строгая и в конечном счёте)
  • Теоремы CAP / BASE / ACID и их влияние на архитектуру
  • Использование блокировок (оптимистичных и пессимистичных) и транзакций
  • Выбор подходящей базы данных - реляционные SQL / NoSQL
  • Шардирование и партиционирование баз данных
  • Low coupling и High cohesion, проблема N+1
  • Техники масштабирования (горизонтальное / вертикальное)
  • Инфраструктура веб-приложения (безопасность, мониторинг, развёртывание в сетевой среде)
  • Оценка стоимости архитектурного решения
  • Документирование архитектуры в C4 и других нотациях
  • Документирование всего веб-сервиса
Дата последнего обновления: 6 ноября 2023

Темы

Другие курсы

JavaScript: от теории к практике
JavaScript: от теории к практике
Автор: Мария Ажгихина
Web-технологии: практический курс CSS
Web-технологии: практический курс CSS
Автор: Мария Ажгихина
Фронтенд-разработчик
Фронтенд-разработчик
Авторы: Группа авторов
Аналитик 1С. Основные инструменты и ввод в профессию
Аналитик 1С. Основные инструменты и ввод в профессию
Автор: Василий Еремин
Введение в Rust
Введение в Rust
Автор: Максим Смирнов
RCodeLab. Большой курс по программированию на Lua в Roblox
RCodeLab. Большой курс по программированию на Lua в Roblox
Автор: Александр Бобуров
-22%
Создание и настройка Progressive Web Apps (PWA) в Ruby on Rails
Создание и настройка Progressive Web Apps (PWA) в Ruby on Rails
Автор: Владимир Долгий
Подробнее
6 900
8 900
Указатели и память С++
Указатели и память С++
Автор: Виталий Богодухов
Javascript. Часть 1
Javascript. Часть 1
Автор: Hayk Inants
Назад
Смотреть дальше