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


  Опросы
1001 и 1 книга  
19.03.2018г.
Просмотров: 8604
Комментарии: 0
Потоковая обработка данных

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

19.03.2018г.
Просмотров: 6877
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

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

19.03.2018г.
Просмотров: 6999
Комментарии: 0
Конкурентное программирование на SCALA

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

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

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

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

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

Друзья сайта  

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

Архив номеров / 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