www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Мониторинг  

Какая задача мониторинга отнимает больше всего времени?

Многие системные администраторы тратят до 30% рабочего времени на рутину мониторинга. Но

 Читать далее...

Рынок труда  

Какие навыки вы хотите развивать в 2026 году?

Рынок труда меняется быстро. Еще вчера его называли рынком соискателей, а сегодня

 Читать далее...

Книжная полка  

От сисадмина до архитектора: книги, которые прокачают ваш стек в этом году

Новинки от издательства «БХВ» отличаются тем, что в них часто делается упор

 Читать далее...

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

 Читать далее...

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

Какие меры безопасности реально внедрить в реальных условиях – и что не

 Читать далее...

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

 Читать далее...

Книжная полка  

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 13421
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 13527
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 10985
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 5889
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 6735
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 6609
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 9451
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 6062
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 6276
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 10440
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 13890
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 15365
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 17672
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 12528
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 10532
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 8742
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 7345
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 6154
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 5777
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 6089
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 RabbitMQ. Вырастаем из штанишек

Архив номеров / 2015 / Выпуск №12 (157) / RabbitMQ. Вырастаем из штанишек

Рубрика: Разработка /  Инструменты

Александр Календарев АЛЕКСАНДР КАЛЕНДАРЕВ, РБК Медиа, программист, akalend@mail.ru

RabbitMQ. Вырастаем из штанишек

В статье рассмотрим основные паттерны использования сервера очередей RabbitMQ применительно к веб-проектам

В предыдущей статье [1] «Кролик в песочнице» мы знакомились с основами протокола AMQP и принципами работы с очередями.

Введение в паттерны

О паттернах написано много книг, и повторяться – это тратить свое и ваше время. Если кто не в теме, то паттерны – это такие обобщенные части, которые, как строительные кубики, используются для построения архитектуры проекта. Есть паттерны проектирования приложения, скорее всего вы уже читали бестселлер «банды четырех» [2]. Далее, развивая эту тему, появились паттерны проектирования баз данных. Есть специальный портал, посвященный разным паттернам проектирования [3]. Ну и, конечно, там не обделены вниманием и паттерны использования обмена сообщений [4].

Отложенные действия

Паттерн «Отложенные действия» является основным в архитектуре нагруженных проектов. Его суть в том, что нет необходимости выполнять все действия сразу, особенно те, которые требуют большого расхода ресурсов: памяти, процессорного времени. Некоторые действия можно выполнить чуть позже, но уже другим процессом или даже на другом сервере. Для координации действий используется очередь сообщений, по которой передаются действия (что нужно сделать) и параметры действий.

На рис. 1 изображена схема взаимодействия фронт-процесса (веб-скрипта) и фоновых процессов (background task), которые принято называть worker (рабочий процесс).

Рисунок 1. Схема взаимодействия фронт-процесса и фоновых процессов

Рисунок 1. Схема взаимодействия фронт-процесса и фоновых процессов

Веб-скрипт принял запрос от клиента (браузера или мобильного приложения), сделал самые необходимые операции, не требующие ресурсов, подготовил данные для worker-процесса, передал их в очередь, а далее вернул на клиент ответ, что, мол, задача выполнена. А сама задача должна гарантированно выполниться спустя какое-то время. Тем самым мы снимаем часть нагрузки с веб-сервера, перенеся ее на другие серверы.

Приступим к реализации. 

Статью целиком читайте в журнале «Системный администратор», №12 за 2015 г. на страницах 48-53.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Календарев А. Кролик в песочнице. // «Системный администратор», №10, 2015г. – С. 60-65 (http://samag.ru/archive/article/3074).
  2. Банда четырех – https://ru.wikipedia.org/wiki/Design_Patterns.
  3. Schmidt, Pattern-Oriented Software Architecture Vol.1-4, Wiley, 2000 – http://www.cs.wustl.edu/~schmidt/POSA.
  4. Honre, Woolf. Enterprise Integration Pattrerns. A Wesley, 2010.
  5. Пакет rabbitmq-java-client – https://www.rabbitmq.com/java-client.html.
  6. Официальный сайт RabbitMQ – https://www.rabbitmq.com.
  7. Серия статей, перевод с официального сайта – http://habrahabr.ru/post/149694.
  8. Zabbix мониторинг плагин – https://github.com/jasonmcintosh/rabbitmq-zabbix.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru