Я провел некоторое исследование с отцом-разрушителем, и есть одна вещь, которую я не могу обернуть вокруг головы.Каким образом дистрибутив LMAX используется для фондового рынка?
Есть производители, которые предоставляют запись для кольцевого буфера. Существует ringbuffer, в основном фиксированный, но бесконечный массив. Есть потребители (в основном спящие потоки), обрабатывающие записи из буфера обмена.
Я пытаюсь рассказать о том, как паттерн disruptor можно использовать в реальном сценарии развития фондового рынка.
Обычно у вас будет книга заказов, содержащая все заказы. Как я вижу, производитель получит новый заказ от брокера. Производитель размещает заказ в кольцевом буфере. После того, как заказ был помещен в ringbuffer, потребитель получает заказ и перекрестно проверяет его с помощью bookbook.
Теперь вот часть, в которой у меня возникли проблемы с пониманием преимущества. Если бы было несколько потребителей, чего вы хотите для масштабируемой системы, как может быть несколько потребителей, отдающих распоряжения?
Книга заказа должна быть заблокирована при доступе потребителя для обеспечения целостности. То, что я ищу, - это ответ на этот вопрос и приблизительное представление о том, как этот механизм может получить выгоду от этого механизма.
У LMAX есть свой собственный порядок, соответствующий двигателю, поэтому должно быть что-то, что я пропускаю.
Спасибо
Точно. Самая важная вещь в архитектуре LMAX (как они описали ее публично!) Заключается в том, что существует один поток, выполняющий фактическое согласование порядка, которое может связываться с потоками ввода и вывода без блокировки. Это означает, что, хотя работа выполняется одним потоком, она может работать с огромной скоростью. Этот подход не масштабируется с дополнительными ядрами, но это не имеет значения, поскольку он достаточно быстро выполняется на одном ядре. –
Благодарим вас за ответ Радай и Том Андерсон. Но тогда возникает вопрос: – user3014924
Благодарим вас за ответ Радай и Том Андерсон. Основываясь на ваших ответах, я начинаю думать, что Disruptor следует рассматривать как средство для структурного действия действий неконкурентным, но парализованным способом. Что такое Disruptor, это патерн для быстрого согласования заказов. Я прав? – user3014924