Использование нескольких LMAX Disruptor

Я новичок в LMAX Disruptor, и я изучаю его, чтобы использовать его в многоуровневом асинхронном проекте, который должен обрабатывать огромный поток трафика.

На платформу доставляется запрос на отправку SMS, запрос очищается / проверяется на наличие простых ошибок и регистрируется.

Другая различная информация, относящаяся к клиенту, который отправляет SMS, выбирается и анализируется, а другие параметры добавляются к информации SMS.

Анализируется и выбирается правильный маршрут маршрутизации. Затем из SMS-информации устанавливаются параметры протокола, специфичные для платформы, и отправляются на маршрутизатор.

Таким образом, будет поток для получения и обработки доставки SMS для регистрации, выставления счетов, повторной попытки и многих других. На каждом этапе в потоке программы будет одновременное или последовательное выполнение. Если это высокоуровневое представление проекта, следует ли использовать фреймворк LMAX Disruptor для связи (sms-info) между различными модулями?

Если да, то сколько правых буферов дисраптора нужно создать?

Если я правильно понимаю, создаются ли новые кольцевые буферы между разными уровнями / функциональными возможностями?

Можно ли записать объект POJO в кольцевой буфер? как это можно адаптировать к кластерной среде? Хотя я читал некоторые документы и видел несколько видеороликов об этом фреймворке, я не могу визуализировать решение с использованием этого фреймворка.

Любые рекомендации / примеры / визуальные диаграммы / документы или ваша идея по этому поводу мне очень помогут.


person Vijay Veeraraghavan    schedule 01.08.2013    source источник


Ответы (1)


Мы немного поигрались с Disruptor и используем его в качестве библиотеки для обеспечения высокопроизводительных настраиваемых параллельных потоков выполнения.

В данном сценарии я вижу две конфигурации кольцевого буфера. Один для отправки SMS, а другой для получения SMS.

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

Конфигурация кольцевого буфера отправки SMS может иметь последовательность этапов обработки событий, например введите описание изображения здесьАналогично принимающая часть также может иметь конфигурация сцены.

По поводу вашего вопроса о POJO. В кольцевом буфере используется концепция корзины событий, в которую объекты POJO могут быть помещены в качестве полезной нагрузки для обработки, а транслятор событий может использоваться для заполнения корзины событий.

person arunvg    schedule 19.08.2013
comment
Сейчас я использую дизраптор в своем приложении, я разместил по нему вопрос stackoverflow.com/questions/18375147/ - person Vijay Veeraraghavan; 22.08.2013