Мастер-класс по Apache Kafka и RabbitMQ
На весеннем мастер-классе по Laravel у меня попросили провести отдельный урок по RabbitMQ и Apache Kafka. Материал готов, и вскоре мы с вами проведём пару жарких вечеров. Построим пример сайта с сервисами, выполняющими фоновые задачи и общающимися через брокеры:
На этой неделе буду на РИФТЕХ 2018 в Ульяновске, так что этот двух- или трёхдневный мастер-класс проведём с 13 по 17 октября.
Что будет:
- Придумаем задание
- Развернём Docker
- Создадим SPA-фронтенд на VueJS
- Напишем бэкенд с JSON API
- Прикрутим WebSocket-уведомления
- Попробуем поработать синхронно
- Найдём проблемы сильной связанности
- Перейдём на шины сообщений
- Найдём проблемы производительности
- Вынесем тяжёлые задачи в микросервисы
- Оформим сложные процессы в саги
- Поговорим о прекрасном...
Это маленький мастер-класс про шины, а не про обширный мир микросервисов, поэтому не будет:
- Построения супер-систем балансирования
- Подключения систем обнаружения хостов
- И всяких супер-штук из сурового мегахайлоада...
В общем, приходите к нам:
Если не получается по https, то замените адрес на http.
Вы получите доступ к личному кабинету со ссылками на онлайн-трансляцию. И туда же навечно будут выложены ссылки на записи. Так что онлайн присутствовать необязательно. Можно вписаться сейчас, а посмотреть когда будет удобно.
Действует гарантия возврата средств. Если передумаете до начала или что-то не понравится в первый день, то напишите мне и я верну ваш платёж.
Если желаете оплатить участие от юрлица, то пишите мне. Если есть другие вопросы, то пишите туда или здесь в комментариях. До встречи с участниками на мастер-классе!
ЕгорОтличная новость, Дмитрий!
А будет ли традиционная скидка для участников прошлых мастер-классов?
Дмитрий ЕлисеевВыложил всем уже со скидкой. Я сегодня добрый :)
Алексей ТимковДима, а для постоянных участников всех прошлых вебинаров скидка такая же?:)))
Александр Макаров – rmcreative.ruПроблемы и решения на темы:
1. N консюмеров, K продьюсеров.
2. Повторы.
3. Гарантия доставки.
4. Пропадание сети.
5. Поддержание работоспособности демона-воркера.
И вот всё это будет рассмотрено?
АнтонХорошие вопросы Александр поднял, впрочем как и всегда. Будет интересно услышать на них ответы на мастер-классе от Дмитрия.
ОбамаНе понимаю о чем вопросы, но я уже тоже хочу знать на них ответы
Дмитрий Елисеев1. Если очередь переполняется, то увеличиваем число консьюмеров.
2. Повторы возможны при ручной перепубликации перед ack.
3. Рассмотрим, что выбираем либо скорость, либо гарантии.
4. Критичнее пропадание сети у паблишера.
5. Это решаем systemd или supervisord.
Александр Макаров – rmcreative.ru1. Не, я тут больше про тот случай, когда у нас один сервис отдаёт свой exchange для потребления N другими сервисами. То есть про организацию на основе Rabbit шины событий.
2. Это понятно. Но бесконечный повтор в худшем случае валит сервер. В лучшем просто затыкает очередь. Есть несколько общепринятых стратегий в таких случаях, про них неплохо рассказать.
4. Смотря какой тип exchange.
5. Как минимум у supervisord есть особенности с экспоненциальным временем ожидания до следующей попытки.
MaxДобавьте, плз, развертывание на Vagrant.
ЕгорУже было в других курсах. Тема микросервисов и так очень обширная и лучше на вагрант время не тратить.
MaxЯ к тому, чтобы курс строился таким образом, чтоб можно было использовать Vagrant, а не только Docker
ЕгорКурс будет на 2 вечера, давайте более рационально распределять время, всем не угодишь.
constА будет ли запись, чтобы позже приобрести мастер класс?
Я тут новенький поэтому пока не вкурсе как этот процесс у вас происходит.
Дмитрий ЕлисеевПозже можно, но немного дороже.
constТоже хороший вариант. Спасибо.
romanпочему SPA-фронтенд на VueJS? а не на Reactjs? а вообще у Вас есть что-либо по Reactjs?
АндрейДядя, здесь проводят вечера в дискуссиях по бэкенду. Тебе на даваскрипт ру надо.
Ильдар Достоевский – sopost.ruХотелось бы поучаствовать, но интересует очень такой момент: в каком формате будет проходить мастер-класс? В какое время, сколько по времени? Будет ли мастер-класс позже выложен в сеть в свободном доступе? Спасибо.
Дмитрий ЕлисеевВечерами с 19:00 по МСК по 4..5 часов. После урока в кабинет выкладывается запись. Бесплатно выложено не будет.
СергейА на чем бекэнд писать будете?
Дмитрий ЕлисеевAPI на PHP.
MaxДмитрий, что должно быть установлено в системе, при прохождении мастер класса (php, npm и т. д.)?
Дмитрий ЕлисеевТолько Docker с Docker Compose.
AndrewВ платёжной системе уже несколько дней проблемы с SSL - оплатить не получается.
Дмитрий ЕлисеевПопробуйте адрес с http.
Дмитрий ПолищукА api будим писать как, на фреймворке или на чистом php? Если на фреймворке то на каком?
Дмитрий ЕлисеевНа микрофреймворке.
Алексей ТимковДима привет, еще не известно с датами проведения?
Дмитрий"так что этот двух- или трёхдневный мастер-класс проведём ориентировочно 13 и 14-го октября."
Алексей ТимковЗдорово. Ждем с нетерпением выходных тогда)))
Павел ЗмеищевДмитрий, а когда будет известна точная информация о времени проведении мастер-класса? А то надо на выходных спланировать несколько дел, а без точной информации будет или нет он на этих выходных и в какое время это сложно)
Дмитрий Елисеев13-го и 15-го в 19:00 по московскому времени.
romanСначала никакого текста о платности, а потом оказывается что это платно. Цена не огромная конечно, но сам факт, когда не ожидаешь и не готов. И Александр Макаров здесь как независимый ставящий задачи что будет полезно узнать посетителям или для поднятия веса проекта? (Конечно знающие понимают, что веса у него хватит не на один проект и не только как автора).
Борис – zabolotskikh.comВообще не понимаю сути претензий к Дмитрию. Человек старается, делает один из самых качественных и подробных контентов на тему веб-программирования, проводит мастер-класс, отвечает на вопросы, так почему же он не имеет права брать за это деньги? К тому же если бы это всё бесплатно раздавалось, люди бы не так ценили полученные знания.
romanПретензия не в платности. Конечно работа должна быть оплачена. И в качестве работы автора нет сомнений. И цена адекватная для такой темы. В неожиданности вопрос, поскольку сначала все выглядело как бесплатно. И я не оставил деньги на карте чтобы оплатить. Пришел домой из магазина, где слизал все не предполагая надобности безнальной ближайшей оплаты и ожидая зарплату через несколько дней, захожу и тут узнаю что пролетел. Нал через интернет не проходит.
Дмитрий Елисеев> В неожиданности вопрос...
Этот пост с кнопкой и ценой уже три недели висит.
romanГде слово цена? даже поиском не нашел.
dima – elisdn.ruЧувак отдохни
Николай ДыбновКурс сегодня завершается ?
Алексей ТимковДим, сори немного не по теме, хотел уточнить как вы относитесь к анализаторам кода в php, таким как sonarqube и т.п.
Дмитрий ЕлисеевПостоянно пользуюсь инспектором в PhpStorm и контролирую формат кода библиотекой PHP CodeSniffer.
Алексей ТимковПонял, спасибо, тоже посмотрю.
xfgЕсть популярное мнение, что брокеры не должны быть персистентными. Всё равно невозможно атомарно записать данные в базу и сообщение в брокер. Соответственно и то и другое нужно атомарно писать в базу и сообщение должно лежать в базе до тех пор пока от консьюмера не дойдет подтверждение об успешной обработке сообщения. Соответственно можно взять какой-нибудь брокер очередей на redis и будет достаточно. Доверять брокеру хранить сообщения потеря которых ведет к неконсистентности данных в проекте - опрометчиво.
ИгорьДмитрий здравствуйте ! А когда symfony будет. Вроде ноябрь.