В последнее время набирают популярность асинхронные, событийно-ориентированные архитектуры приложений, микросервисы и т.п. На этой волне развиваются такие фреймворки и сервисы как Akka, Rx4Java, RabbitMQ, Kafka, и др.
В потоке стремительно развивающихся технологий приходится периодически переоценивать сложившиеся традиции в использовании стандартов, протоколов и продуктов.
Предлагается обсудить подход к организации потоков сообщений в Java Middleware (и не только), отступающий от стандарта JMS, (благословленного JCP) в сторону AMQP.
Мы познакомимся с протоколом AMQP и его реализациями. Рассмотрим принципиальные отличия от JMS, поговорим об областях применимости — классах задач, когда использовать, например, RabbitMQ будет хорошей идеей, а когда — не очень. Сделаем обзор возможностей RabbitMQ, как использовать его через Spring и обсудим пару примеров применения технологии для конкретных задач.
Kafka — распределённый брокер сообщений, нашедший широкое применение как универсальная шина для больших данных. Kafka позволяет как реализовать realtime-обработку большого числа событий, так и построить батчевый pipeline по доставке логов.
Почему мы используем Kafka? Если коротко — унификация. А если чуть подробнее — десятки поставщиков, терабайты логов каждый день, онлайн- и офлайн-pipelineы — без единой высокопроизводительной шины данных с этим крайне сложно совладать.
Из доклада вы узнаете о том, почему мы перешли на Kafka, и как она вписалась в наш pipeline. Поймёте, как обеспечить exactly once доставку данных. Узнаете о том, как из-за одной опечатки в несколько раз выросла нагрузка на Kafka, и что мы из этого выяснили. Выясните, какие метрики Kafka стоит мониторить и как по ним понять, что что-то идёт не так.
The talk from JS Fest conference in Kyiv, Ukraine.
Почему я это делаю? Я много раз задавал себе этот вопрос, работая над очередным проектом и, имплементируя микросервисную архитектуру, используя CQRS и Event Sourcing подходы. Зачем здесь это и почему система такая сложная? Я расскажу об ошибках, которые были допущены, о проблемах, с которыми пришлось столкнуться и о том, чего делать не стоит. Поделюсь опытом и укажу на то, что я хотел бы знать, когда только начинал работать над проектом.
ytimg.preload(https://r13---sn-axq7sn7z.googlevideo.com/generate_204);ytimg.preload(https://r13---sn-axq7sn7z.googlevideo.com/generate_204?conn2);Учимся готовить кроликов с редиской опыт применения Rabbit MQ и Redis в интеграционных проектах — YouTube<link rel=«alternate» type=«application/json oembed» href=«www.youtube.com/oembed?format=json
При поддержке AvitoTech мы впервые публикуем все видео с HighLoad 2019 в открытый доступ. Учитесь, вдохновляйтесь и перенимайте лучшие практики у спикеров, не выходя из дома.
— Календарь конференций — ontico.ru
— HighLoad 2019
За 3 года использования Redis на «проде» накопилось много интересного. В Infobip мы его используем более чем в ста различных сервисах и в каждом из них по-разному. В докладе я поделюсь нашими кейсами и фейлами, через которые мы прошли, а их было несколько десятков.
…
— Нашли ошибку в видео? Пишите нам на support@ontico.ru
Я и мои коллеги из Data Egret — PostgreSQL-консалтеры, и мы регулярно наблюдаем как команды разработки осознанно или нет, но допускают ошибки при работе с Постгресом.
…
— Нашли ошибку в видео? Пишите нам на support@ontico.ru
• расскажем, что такое Message queues
• познакомим с такими реализациями, как Apache Kafka и RabbitMQ
• обсудим принципы их работы, разберем, что между ними общего и какие есть отличия, поймем, когда лучше применять ту или иную MQ.
В этом занятии:
— Что нужно для работы установка
— Подключение
— Создание базы
— Вставка
— Insert one
— Insert many
— Выборки
— Find One
— Find Many
— Comparsion rules
— Query Projection
— Limit/Sort/Skip
— Aggregation
— Изменение
— Upsert
— Удаление
— Delete one
— Delete many
— Индексы
По любым вопросам, связанным с курсом можно писать на почту: okulov@rclass.pro