Коммуникация сборочницы со сторонними сервисами через брокер сообщений RabbitMQ (Егор Игнатов, OSSDEVCONF-2022) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
(не показана одна промежуточная версия этого же участника) | |||
;{{SpeakerInfo}}: {{Speaker|Егор Игнатов}} <blockquote> Доклад посвящён интеграции протокола AMQP в сборочницу для отправки сообщений о результатах её работы, а также обработке этих сообщений сторонними сервисами. </blockquote> {{VideoSection}} {{vimeoembed|923073059|800|450}} {{youtubelink|}} |MObBkgqkwlc}} {{SlidesSection}} * https://blarse.github.io/girar-amqp/#/sec-title-slide {{----}} == Thesis == Для получения актуальной информации от различных сервисов, задействованных в ALT Linux, было решено создать инфраструктуру обмена сообщениями. Такая система поможет не только узнавать об изменениях, но и автоматизировать разные процессы. Инфраструктура обмена сообщениями состоит из трёх основных компонентов: <i>Продюсеров</i> — те, кто оправляют сообщения, <i>Брокера</i> — он принимает и распределяет сообщения по очередям, в данном случае это <tt>RabbitMQ</tt>, и <i>Консюмеров</i> — они забирают эти сообщения из очереди брокера и обрабатывают их. === Продюсеры === Основным продюсером является наша сборочница (<tt>girar</tt>), помимо неё сообщения отправляет <tt>bugzilla</tt> и некоторые прочие сервисы. В докладе будут рассмотрены: * Изменения добавленные в проект <tt>girar</tt> для поддержки отправки AMQP сообщений об изменениях в сборочных заданиях. * Какие типы сообщений от <tt>girar</tt> бывают и когда они отправляются. * Как работает отправка сообщений из <tt>bugzilla</tt>. === Брокер сообщений === Отправленные сообщения получает <tt>RabbitMQ</tt>, рассмотрим: * Конфигурацию и работу сервера <tt>RabbitMQ</tt>. * Устройство High Availability кластера средствами <tt>RabbitMQ</tt>. * Роутинг сообщений на стороне сервера === Консюмеры === В данной части доклада мы рассмотрим какие есть сервисы, что они делают и как работают. Как сервисы взаимодействуют с проектами altrepo-api ([https://rdb.altlinux.org/api/]) и [packages.altlinux.org]. А также прочие применения и дальнейшие планы по развитию инфраструктуры. * [https://www.rabbitmq.com/documentation.html RabbitMQ Documentation] {{----}} [[File:{{#setmainimage:Коммуникация сборочницы со сторонними сервисами через брокер сообщений RabbitMQ (Егор Игнатов, OSSDEVCONF-2022)!.jpg}}|center|640px]] {{LinksSection}} <!-- <blockquote>[©]</blockquote> --> <references/> [[Категория:OSSDEVCONF-2022]] [[Категория:Open-source очереди]] |
Текущая версия на 18:45, 5 апреля 2024
- Докладчик
- Егор Игнатов
Доклад посвящён интеграции протокола AMQP в сборочницу для отправки сообщений о результатах её работы, а также обработке этих сообщений сторонними сервисами.
Содержание
Видео
Презентация
Thesis
Для получения актуальной информации от различных сервисов, задействованных в ALT Linux, было решено создать инфраструктуру обмена сообщениями. Такая система поможет не только узнавать об изменениях, но и автоматизировать разные процессы.
Инфраструктура обмена сообщениями состоит из трёх основных компонентов: Продюсеров — те, кто оправляют сообщения, Брокера — он принимает и распределяет сообщения по очередям, в данном случае это RabbitMQ, и Консюмеров — они забирают эти сообщения из очереди брокера и обрабатывают их.
Продюсеры
Основным продюсером является наша сборочница (girar), помимо неё сообщения отправляет bugzilla и некоторые прочие сервисы. В докладе будут рассмотрены:
- Изменения добавленные в проект girar для поддержки отправки AMQP сообщений об изменениях в сборочных заданиях.
- Какие типы сообщений от girar бывают и когда они отправляются.
- Как работает отправка сообщений из bugzilla.
Брокер сообщений
Отправленные сообщения получает RabbitMQ, рассмотрим:
- Конфигурацию и работу сервера RabbitMQ.
- Устройство High Availability кластера средствами RabbitMQ.
- Роутинг сообщений на стороне сервера
Консюмеры
В данной части доклада мы рассмотрим какие есть сервисы, что они делают и как работают. Как сервисы взаимодействуют с проектами altrepo-api ([1]) и [packages.altlinux.org]. А также прочие применения и дальнейшие планы по развитию инфраструктуры.