Коммуникация сборочницы со сторонними сервисами через брокер сообщений RabbitMQ (Егор Игнатов, OSSDEVCONF-2022) — различия между версиями

Материал из 0x1.tv

 
(не показана одна промежуточная версия этого же участника)
;{{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

Докладчик
Егор Игнатов.jpg
Егор Игнатов

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

Видео

on youtube

Презентация

Thesis

Для получения актуальной информации от различных сервисов, задействованных в ALT Linux, было решено создать инфраструктуру обмена сообщениями. Такая система поможет не только узнавать об изменениях, но и автоматизировать разные процессы.

Инфраструктура обмена сообщениями состоит из трёх основных компонентов: Продюсеров — те, кто оправляют сообщения, Брокера — он принимает и распределяет сообщения по очередям, в данном случае это RabbitMQ, и Консюмеров — они забирают эти сообщения из очереди брокера и обрабатывают их.

Продюсеры

Основным продюсером является наша сборочница (girar), помимо неё сообщения отправляет bugzilla и некоторые прочие сервисы. В докладе будут рассмотрены:

  • Изменения добавленные в проект girar для поддержки отправки AMQP сообщений об изменениях в сборочных заданиях.
  • Какие типы сообщений от girar бывают и когда они отправляются.
  • Как работает отправка сообщений из bugzilla.


Брокер сообщений

Отправленные сообщения получает RabbitMQ, рассмотрим:

  • Конфигурацию и работу сервера RabbitMQ.
  • Устройство High Availability кластера средствами RabbitMQ.
  • Роутинг сообщений на стороне сервера


Консюмеры

В данной части доклада мы рассмотрим какие есть сервисы, что они делают и как работают. Как сервисы взаимодействуют с проектами altrepo-api ([1]) и [packages.altlinux.org]. А также прочие применения и дальнейшие планы по развитию инфраструктуры.


Коммуникация сборочницы со сторонними сервисами через брокер сообщений RabbitMQ (Егор Игнатов, OSSDEVCONF-2022)!.jpg

Примечания и ссылки