Обучение длится 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. Часть 1
Javascript. Часть 1
Автор: Hayk Inants
Введение в АСУ ТП. Основы ПЛК
Введение в АСУ ТП. Основы ПЛК
Автор: Виталий Олейников
Оптимизация бизнес-процессов. Реинжиниринг
Оптимизация бизнес-процессов. Реинжиниринг
Автор: Максим Дуплей
Повышение производительности труда с помощью Python
Повышение производительности труда с помощью Python
Автор: Дмитрий Должик
Основы этичного хакинга
Основы этичного хакинга
Автор: Александр Чумилин
-25%
SQL для всех: от начинающих до продвинутых
SQL для всех: от начинающих до продвинутых
Автор: Алексей Андросов
Подробнее
1 500
2 000
Профессия Python-разработчик
Профессия Python-разработчик
Автор: Илья Фофанов
-33%
Автоматизация тестирования веб-приложений с помощью Selenium
Автоматизация тестирования веб-приложений с помощью Selenium
Автор: Александр Кузнецов
-25%
Основы программирования на C#. Начальный уровень
Основы программирования на C#. Начальный уровень
Автор: Антон Новик
Подробнее
990
1 290
Назад
Смотреть дальше