Микросервисная архитектура на Ruby [Thinknetica] [Евгений Фатеев]

Bot

Администратор
Команда форума
23 Янв 2020
201,150
3,136
113
Микросервисная архитектура на Ruby
Полный путь от монолита на Rails к микросервисной архитектуре

О курсе

Рассматриваются общие принципы построения приложений, особенности монолитной и микросервисной архитектур, рекомандации по определению границ микросервисов.
Разбираются различные способы взаимодействия микросервисов (HTTP, RPC, queue). Уделяется внимание аутентификации, организации хранения данных, логированию.

Спойлер: Программа
Занятие 1. Архитектура и принципы создания приложений
Общие принципы создания приложений (SRP, Separation of concerns, Abstraction layers). Особенности монолитной и микросервисной архитектур. Знакомство с монолитным Rails приложением.
Занятие 2. Ruby-микросервисы
Разделение монолитного Rails приложения на микросервисы. Обзор каждого из микросервисов и схема их взаимодействия в единой системе. Способы организации хранения данных.

Занятие 3. Микросервис Ads
Создание Ruby микросервиса публикации рекламных объявлений. Структура проекта, подключение к базе данных, слои эндпоинтов, сервисов, моделей и репозиториев, покрытие тестами.

Занятие 4. Микросервис Auth
Выдача токена аутентификации клиенту. Синхронное взаимодействие микросервисов. Реализация синхронного взаимодействия микросервисов Ads и Auth через протокол HTTP.

Занятие 5. Взаимодействие микросервисов
Синхронное и асинхронное взаимодействие микросервисов через очередь. Реализация синхронного взаимодействия через очередь (RPC) микросервисов Ads и Auth

Занятие 6. Логирование микросервисов
Особенности логирования микросервисов, Distributed tracing. Логирование микросервисов Ads и Auth.

Занятие 7. Деплой
Деплой микросервисов Ads и Auth с помощью Docker и Ansible.

Занятие 8. Мониторинг
Мониторинг в микросервисной архитектуре. Настройка мониторинга микросервисов Ads и Auth с помощью Prometheus и Grafana.


В результате курса вы сможете научиться:
  • Разбивать монолит на микросервисы и понимать принципы построения микросервисной архитектуры
  • Создавать микросервисы на Ruby, покрытые тестами и использовать для этого удобные инструменты
  • Объединять несколько микросервисов в единую систему и строить взаимодействие между ними
  • Выполнять деплой и разворачивать все микросервисы одной командой
  • Настраивать логирование и мониторинг и отслеживать работоспособность вашей архитектуры
Автор курса
Евгений Фатеев

RoR-разработчик с опытом 10+ лет.
Принимал участие в разработке различных проектов для отечественных и зарубежных проектов, в том числе для Правительства Москвы. Сейчас работает ведущим разработчиком в worki.ru
Талантливый инженер и отличный преподаватель, умеющий просто объяснять сложные вещи.
hardcode.dev/ruby_microservices