Скрыть объявление

Внимание!


Наш телеграм-канал попал под массовую блокировку и, пока мы подготовили для вас резервный!


Подписывайтесь по этой ССЫЛКЕ

Скрыть объявление

На короткое время рассказываем где достать редкие курсы

Подробности ТУТ

Скрыть объявление

20 марта — Международный день счастья.

И давайте честно: у каждого оно выглядит по-разному Кто-то выбирает чемодан и билеты, кто-то — новый стиль, а кто-то — время с семьёй. Мы решили не ограничивать варианты и просто добавить к ним бонус.

Все детали и условия ТУТ

Скрыть объявление

Мы обновили Telegram-бот!

Ссылку на новый бот и все детали ищите ТУТ и скорее подписывайтесь, чтобы не пропускать важные уведомления и новости форума

Скрыть объявление

Было ли у Вас такое, что Вы не могли найти курс? Если да, то напишите нам в Службу поддержки какой курс вам нужен и мы постараемся его найти.

Скрыть объявление

Пополняйте баланс и получайте при оплате складчин кэшбек в размере 10%

Запись

[Thinknetica] Event-Driven архитектура в Ruby-приложениях. Слушатель (Игорь Симдянов)

Тема в разделе "Курсы по программированию"

Цена:
8900 руб
Взнос:
441 руб
Организатор:
Евражкa

Список участников складчины:

1. Евражкa
open
2
Записаться
  1. Евражкa Организатор складчин

    [Thinknetica] Event-Driven архитектура в Ruby-приложениях. Слушатель (Игорь Симдянов)

    [​IMG]


    Этот воркшоп для вас, если:
    • вы хотя бы раз в жизни сталкивались с ситуацией, когда длительная операция тормозит ваше приложение
    • вы отлаживали фоновые операции днями и неделями, пытаясь договориться с отправителем или получателями о "протоколе" обмена
    • при разработке микросервисного приложения, у вас каждый раз получается "жирный" оркестратор, который в курсе всех бизнес-процессов
    • вы хотите разобраться с особенностями современных брокеров сообщений, в какой ситуации подходит тот или иной брокер
    Почему Event-Driven архитектура сейчас актуальна?

    События в программировании используются с момента появления первых компьютеров. Их можно найти и в первых мейнфреймах, и в аппаратной части, и в desktop-приложениях. Однако, в настоящее время под Event-Driven или событийной архитектурой мы имеем в виду отдельный тип распределенных архитектур.

    После Docker-революции наши приложения стали стремительно уменьшаться в размере. Границы приложения теперь определяются не физическим или виртуальным компьютером, а легковесным контейнером, размер которого теперь определяется только задумкой разработчика. Как следствие, мы все чаще стали прибегать к микросервисной архитектуре и довольно остро встал вопрос по связыванию, координации отдельных микросервисов и обмена сообщениями.

    Все это подтолкнуло сообщество к пересмотру обработки событий. Еще 20 лет назад, брокер сообщений - это реализованный внутри приложения паттерн. Сейчас мы имеем дело с готовыми промышленными брокерами: RabbitMQ, Kafka.

    Зачастую на практике события в приложениях используются хаотично, без системы. На воркшопе мы рассмотрим как проблемы при построении Event-Driven архитектуры, так и способы их решения.

    Программа воркшопа

    День 1. Event-Driven архитектура

    В первый день познакомимся с событийной архитектурой и ее основными концепциями. Посмотрим, для каких задач она хорошо подходит, какие проблемы она решает.

    Разберемся с базовыми паттернами: производитель (producer), потребитель (consumer), канал сообщений (topic, queue), агрегатор, разветвитель, dead-letter queue, брокер сообщений.

    Заложим основы нашего будущего приложения, подберем архитектурные решения по структуре сообщения, количеству и назначению топиков. Проведем краткий обзор брокеров сообщений: sidekiq и resque на базе Redis, RabbitMQ и Apache Kafka.

    Результат:
    • Познакомимся/вспомним основные паттерны событийной архитектуры
    • Построим архитектуру приложения
    • Примем архитектурные решения в отношении будущего приложения
    • Освоим инструменты документирования асинхронного взаимодействия (AsyncAPI)
    День 2. Брокеры сообщений RabbitMQ и Kafka

    Детальнее остановимся на брокерах сообщений, как на отдельном типе приложений. Рассмотрим брокеры сообщений первого и второго типов. Плюсы и минусы Kafka и RabbitMQ. Детальнее остановимся на внутренних возможностях: еxchange и binding-и.

    Рассмотрим веб-панели управления, особенности эксплуатации и настройки брокеров сообщений. Потрогаем гемы для работы с брокерами сообщений и типичные приемы.

    Построим центральную часть нашего приложения: разработаем сервисы для распознавания текста, заложим резервирование в системе, установим взаимодействие между сервисами и обеспечим документирование взаимодействия. Основная часть примеров будет именно на RabbitMQ.

    Результат:
    • Изучим, как выбирать брокер сообщений под ту или иную задачу
    • Познакомимся с брокерами сообщений и инструментами для взаимодействия с ними
    • Научимся обрабатывать сообщения, полученные через брокер сообщений и масштабировать решение
    • Разработаем основную логику нашего приложения, связав сервисы и обработку
    День 3. Event-Driven архитектура на практике

    В третий день доведем наше приложение до конечного результата. Соединим все микросервисы в цепочку, так, чтобы полученный на почтовый ящик чек, проходил все этапы и сумма попадала в базу данных.

    Кроме того, мы рассмотрим приемы для долговременного сопровождения проекта. Документируем проект при помощи AsyncAPI, напишем тесты, подключим dead-letter очередь для отлавливания сбойных сообщений в результате неудачных релизов.

    Для мониторинга проекта настроим prometheus и grafana, в котором будем отслеживать динамику накопления и разбора очередей.

    Результат:
    • Завершим разработку приложения для учета чеков
    • Применим паттерн dead-letter queue на практике
    • Рассмотрим варианты тестирования: mock-сервер vs функциональное тестирование
    • Настроим prometheus и grafana для отслеживания размера очередей
    Игорь Симдянов
    Автор воркшопов "Архитектура современных веб-приложений на Ruby on Rails" и "Domain Driven Design в Ruby-приложениях"

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
     
  2. Похожие складчины
    Загрузка...
Наверх