Распространение рыночных данных в режиме реального времени с использованием ZeroMQ / NFS? - PullRequest
1 голос
/ 01 июля 2011

Предположим, что у вас есть машина, которая получает биржевые цены в реальном времени. Эти цены необходимо перенести на 50 других компьютеров в вашей сети как можно быстрее, чтобы каждая из них могла самостоятельно обрабатывать данные.

Каков наилучший / самый быстрый способ отправки данных на другие 50 машин?

Я ищу решение, которое будет работать на linux, используя python в качестве языка программирования. Вот некоторые идеи, которые у меня были:

(1) Отправьте его на другие машины, используя python's ZeroMQ module

(2) Сохраните данные в общую папку и попросите 50 машин прочитать их, используя NFS

Есть еще идеи?

Ответы [ 3 ]

1 голос
/ 01 июля 2011

Я бы пошел с zeromq с pub / sub сокетами.

в вашем варианте 2, ваши "клиенты" должны будут обновить, чтобы получить ваши изменения файла .. как опрос ... если у вас естьнекоторые ошибки записи, вам придется справиться с этим вручную, что тоже будет нелегко ..

zeromq прост, надежен и мощен .. я думаю, что он идеально подходит для вашего случая ..

1 голос
/ 01 июля 2011

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

Существуют и другие способы отправки информации по сети, такие как необработанные сокеты (нижний уровень), реализации AMQP, такие какRabbitMQ (более структурированный / сложный), HTTP-запросы / ответы и так далее.ZeroMQ - довольно хороший вариант, но он, вероятно, зависит от вашей ситуации.

Вы также можете взглянуть на фреймворки для распределенных вычислений, такие как в IPython.

0 голосов
/ 11 июля 2011

Определенно НЕ используйте файловую систему. ZeroMQ - отличное решение с привязками в Py. У меня есть несколько примеров здесь: www.coastrd.com. Свяжитесь со мной, если вам нужна дополнительная помощь.

...