У меня есть системное приложение, которое работает как коллекция из 12 процессов в Unix.Существует процесс мониторинга, который обменивается данными с 11 другими процессами.
Требование IPC состоит в том, чтобы эти 11 процессов взаимодействовали с процессом мониторинга, разработанным таким образом, который наиболее эффективен с точки зрения выполнения.Можете ли вы, ребята, взвесить два приведенных ниже варианта или предложить лучший.
1) имеет связь через сокет UDP, где эти 11 процессов будут периодически передавать данные в процесс мониторинга.процесс монитора просто слушает и захватывает информацию, которая достаточно хороша.
ИЛИ
2) имеют реализацию с общей памятью.Таким образом, существует 11 сегментов общей памяти, каждый из которых разделен между двумя процессами (процесс i-й и процесс мониторинга).
Для общей памяти это кажется быстрее, но требуется блокировка / синхронизация, где, как в udp,Ядро копирует данные из памяти одного процесса в другой.
Может ли кто-нибудь предоставить больше информации, чтобы помочь лучше оценить два метода.?Спасибо.