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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Друзья сайта  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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