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

  Опросы
1001 и 1 книга  
12.02.2021г.
Просмотров: 8525
Комментарии: 2
Коротко о корпусе. Как выбрать системный блок под конкретные задачи

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

11.02.2021г.
Просмотров: 8855
Комментарии: 3
Василий Севостьянов: «Как безболезненно перейти с одного продукта на другой»

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

20.12.2019г.
Просмотров: 16037
Комментарии: 0
Dr.Web: всё под контролем

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

04.12.2019г.
Просмотров: 15122
Комментарии: 13
Особенности сертификаций по этичному хакингу

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

28.05.2019г.
Просмотров: 16257
Комментарии: 6
Анализ вредоносных программ

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

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

Вебинар «Укрощение SIEM-системы. Инструкция по применению для системных администраторов»

 Очереди. Теория и практика

Архив номеров / 2014 / Выпуск №6 (139) / Очереди. Теория и практика

Рубрика: Разработка /  Проектирование

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

Очереди. Теория и практика

В майском номере [1] было рассмотрено взаимодействие разных потоков с использованием очередей в рамках одного адресного пространства. А как организовать взаимодействие для нескольких процессов, даже если они разнесены на разные физические серверы?

Без сетевого взаимодействия тут никак не обойтись. И что в данном случае является связующим звеном между взаимодействующими компонентами? Это либо специализированная сетевая библиотека, либо выделенный процесс, именуемый сервером очередей. В данной статье будут рассмотрены различные способы использования очередей.

Очередь – это структура данных, которая соответствует принципу: первый пришел, первый вышел.

Вот несколько архитектурно-важных причин использования очередей:

  • Масштабируемость – очереди сообщений позволяют распределить порции информации между несколькими системами обработки. Если система не справляется с входящим потоком информации, мы можем, не изменяя архитектуру, нарастить элементы обработки информации.
  • Отказоустойчивость – очереди сообщений позволяют отделить обрабатывающие информацию процессы таким образом, что если некий процесс выйдет из строя, то сообщения могут быть добавлены в очередь и могут быть обработаны позднее, после восстановления.
  • Снижение пиковой нагрузки – процессам посредством очереди предоставляют возможность асинхронной обработки данных, не влияя на систему в целом, если процесс не успевает обработать всю приходящую информацию, то он может ее обработать позднее, используя очередь сообщений, как буфер информации.

Давайте приведу вам несколько примеров использования очередей:

  • отложенная обработка пользовательского контента;
  • передача статистики;
  • сглаживание нагрузки;
  • выполнение периодических задач;
  • оповещение процессов о некотором событии.

Существует всего несколько подходов к организации очередей:

  • использовать реляционные базы данных;
  • применить существующие библиотеки;
  • использовать существующие решения (серверы очередей, NoSQL-хранилища).

Использование реляционной СУБД

Давайте дадим ответ на вопрос: а как в качестве очереди можно использовать простую БД?

Представим блокнот, в который мы записываем будущие покупки. И как только какую-то покупку осуществили, то сразу эту строчку вычеркиваем из нашего блокнота. А теперь наш воображаемый блокнот заменим на таблицу БД. В данной таблице (queue) должны как минимум быть поля:

  • id (autoincrement) – номер записи;
  • data – пользовательские данные.

Статью целиком читайте в журнале «Системный администратор», №6 за 2014 г. на страницах 76-77.

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


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

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

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

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

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