2012-04-02 4 views
2

Я ищу механизм ipc, который позволит обеспечить высокую пропускную способность обновлений данных от одного процесса до многих (тысяч).one-to-many IPC

Процесс «сервер» будет отвечать за обновление структуры данных на высокой частоте. После обновления я хотел бы уведомить «клиентские» процессы обновления и позволить этим процессам читать новые данные.

В среде Linux или FreeBSD, что было бы хорошим способом сделать это?

ответ

3

Я бы порекомендовал использовать ZeroMQ. Это быстрая, легкая, кросс-платформенная, межъязыковая система обмена сообщениями, которая уже делает все, о чем вы просите. Он прост в использовании и очень надежный. Он может работать во многих, многих режимах, один из которых - от одного до многих сообщений (это называется трансляцией в CS-talk).

2

Неясно, какие ограничения или требования к настройке (все процессы на одном компьютере?), Похоже, самым универсальным решением было бы использовать MPI, который не зависит от платформы и распределяется. В частности, он обеспечивает broadcasting functionality.

Недостатком является то, что вам придется немного моделировать свой дизайн после API MPI.