Описание тега disruptor-pattern

Disruptor is a pattern used to perform around 6-8 million transactions per second. When using this tag on implementation heavy questions - tag the code language the implementation is written in.
1 ответ

LMAX Disruptor Timeout EventHandler

У нас есть система, использующая среду Disruptor, она имеет пять зарегистрированных этапов реализации EvenetHandler. Этапы работают в последовательности, поэтому запрос может перейти на второй этап, только когда первый этап завершен, это движение по…
05 дек '13 в 06:43
2 ответа

Нарушитель один обработчик событий останавливает другие обработчики событий

Я запускаю экземпляр прерывателя со следующим обработчиком событий: int NUM_EVENT_PROCESSORS = 5; executor = Executors.newFixedThreadPool(NUM_EVENT_PROCESSORS); EventFactory factory = new EventFactory(); System.out.println("Starting Disruptor"); dis…
30 июл '15 в 13:06
1 ответ

LMAX Disruptor - Поддерживать порядок событий

У меня есть приложение, которое загружает данные временных рядов из различных файлов. Приложение открывает один поток на файл для параллельной загрузки данных. Записи в файлах упорядочены, но мне нужно доставить один канал остальной части приложения…
23 мар '18 в 13:11
1 ответ

Disrupror потребитель повторно отправляет данные

Я хочу использовать разрушитель LMAX, но я не уверен, что мой вариант использования подходит для него. В основном есть один или 2 производителя и n потребителей. Хитрость заключается в том, что когда потребитель получает событие и проверяет некоторы…
14 окт '13 в 11:36
1 ответ

Java: использовать Disruptor или нет.,

Hy, В настоящее время я занимаюсь разработкой программы, которая берет 2 значения из очереди amq и выполняет серию математических вычислений над ними. На сервере amq была создана тема, на которую моя программа подписывается и получает сообщения чере…
19 дек '11 в 12:58
1 ответ

"Наконец" или "сделать последний" для LMAX Disruptor?

Я пытаюсь написать оболочку для прерывателя LMAX, и мне интересно, есть ли механизм для добавления обработчика событий, который выполняется в конце потока прерывателя. Есть ли способ сделать это?
08 мар '17 в 13:42
1 ответ

Disruptor onEvent обработчик

В различных примерах onEvent переменные иногда объявляются как final, а иногда нет. Например: public void onEvent(final ValueEvent entry, final long sequence, final boolean onEndOfBatch) в отличие от public void onEvent(ValueEvent entry, long sequen…
14 сен '15 в 10:34
3 ответа

Схема разрушения LMAX: есть ли порт для C++?

Существуют Java и .NET версии с открытым исходным кодом шаблона Disruptor LMAX, как описано в видео LMAX - Как сделать 100K TPS с задержкой менее 1 мс. Вот больше ссылок на информацию о паттерне Disruptor. Кто-нибудь знает о порте паттерна Disruptor…
04 авг '11 в 14:49
2 ответа

Пример разрушителя с 1 издателем и 4 параллельными потребителями

В этом примере /questions/43591398/primer-disruptornet/43591404#43591404 и здесь Почему мой пример с прерывателем такой медленный? (в конце вопроса) есть 1 издатель, который публикует товары, и 1 потребитель. Но в моем случае работа с потребителем н…
12 ноя '12 в 05:28
0 ответов

Disruptor Pattern с сообщением байтового массива фиксированного размера

Я хочу воспользоваться преимуществами предварительно выделенной парадигмы памяти внутри пакета LMAX Disruptor, и мои записи представляют собой сообщения фиксированного размера... (скажем, байтовый массив или что-то в этом роде).. Как вы определяете …
03 апр '17 в 02:51
0 ответов

Схема разрушения с обработчиком тяги

Я собираюсь улучшить производительность существующего решения, вводящего схему разрушения. Существующее решение содержит одного производителя и потребителя с общим байтовым буфером. В этом сценарии производитель передает данные в общий буфер, а потр…
20 янв '15 в 16:50
1 ответ

Тайм-аут прерывателя LMAX для EventHandler onEvent

У меня есть кольцевой буфер и обработчик событий. Это используется в качестве входящего буфера сервера обмена сообщениями. Внутри моего чётного обработчика он выполняет некоторые вызовы службы AMQP, а иногда из-за того, что этот вызов ожидает без та…
07 апр '16 в 19:08
0 ответов

disruptor: получение слотов перед лицом целочисленного переполнения

Я реализую шаблон разрушителя для межпотокового взаимодействия в C++ для нескольких производителей. В реализации от LMAX next(n) метод в MultiProducerSequencer.java использует целые числа со знаком (хорошо, это Java), но порт C++ (disruptor--) испол…
19 фев '16 в 13:35
3 ответа

В разрушителе LMAX, Как производитель знает, что потребитель закончил работу

Есть ли потребители информировать производителя о том, что какое-то конкретное событие успешно обрабатывается?
18 апр '14 в 08:12
2 ответа

Windows C++ эквивалент JavaS LockSupport.parkNanos()

Мне нужно реализовать ту же функциональность, что и эта функция на Win7 x64. Я изначально использовал SwitchToThread() но это не работает, поскольку это вызывает тупик в экстремальных условиях. Единственная альтернатива, которую я могу найти, Sleep(…
16 авг '12 в 01:45
2 ответа

Полируемый разрушитель

Я провел немало исследований, но пока не могу найти решение. Я хотел бы найти pollable ring buffer, аналогично LMAX disruptor один. У меня много издателей и один читатель. Проблема с disruptoДело в том, что он использует собственный выделенный поток…
0 ответов

Зависимости между сообщениями в потоках в Distruptor

У нас есть сценарий в Disruptor, где есть несколько потребителей (скажем, 2) и несколько производителей (скажем, 3), и между ними есть RingBuffer. Потребители читают и пишут в базу данных и работают медленно. Некоторые сообщения зависят друг от друг…
1 ответ

Disruptor - кольцевой буфер

Я исследую исходный код LMAX Disruptor, и я пришел в RingBuffer абстрактный класс. Почему именно 7 длинных полей (p1 ... p7) в RingBufferPad? Вот актуальный код: https://github.com/LMAX-Exchange/disruptor/blob/master/src/main/java/com/lmax/disruptor…
1 ответ

Будет ли работать LMAX Disruptor на Android?

Кто-нибудь имел опыт работы с LMAX Disruptor на Android? Будет ли это работать и есть ли проблемы с совместимостью?
05 май '16 в 22:39
1 ответ

Когда использовать схему разрушения, а когда локальное хранилище с кражей работы?

Правильно ли следующее? Шаблон разрушения имеет лучшую производительность и масштабируемость при параллельном обработке, если каждая запись должна обрабатываться несколькими способами (операции или аннотации), поскольку она может быть распараллелена…