2016-08-15 21 views
1

Я искал низкий уровень обмена сообщениями (не обязательно MQ), который должен удовлетворять следующим требованиям, но без успеха. Я фактически использовал Resilio (Bittorrent Sync), и он просто работает без какой-либо конфигурации даже в случае брандмауэров или устройства NAT и т. Д. Но он не соответствует моим требованиям к задержкам (особенно когда несколько устройств хранят («отправляют») сообщения одновременно в общей папкеСуществует ли P2P, Open Source, отсутствие пересылки портов, низкая латентность, уровень обмена сообщениями?

Требование:..

  • Должен быть свободно использовать для коммерческого использования (предпочтительно с открытым исходным кодом)
  • должны быть доступны на Linux/Ubuntu
  • должен работать. коробки, т. е. никакая переадресация портов и т. д. не требуется, даже если за брандмауэрами или на устройстве NAT.
  • Должно быть p2p (т. Е. Нет централизованного сервера).
  • Должно быть несколько масштабируемым. Должен поддерживаться второй период доставки небольших (один килобайт) сообщений, когда 10 устройств отправляют сообщения (один ко многим) одновременно. Таким образом, в общей сложности 90 сообщений на один килобайт доставлены второй секундой. Каждое устройство распределяет одно сообщение и получает 9 сообщений.
  • Должен иметь какой-то API.

Я не уверен, как именно Resilio подключается к устройствам. Но, возможно, слой обмена сообщениями, который я ищу, использует какой-то сервер сигнализации/STUN для обнаружения/подключения устройств. Это должно быть хорошо, если есть несколько серверов общего доступа/STUN, на которые вы можете положиться (попытка избежать централизации). Такие технологии, как WebRTC, кажутся довольно многообещающими, но я просто не нашел ничего, что работает из коробки. Однако такие веб-сайты, как https://otr.to, и приложения, такие как Resilio, говорят мне, что должен быть доступен слой/приложение обмена сообщениями с вышеуказанными требованиями?

Любые предложения приветствуются. Спасибо заранее.

+0

Я думаю, вы должны удалить требование «многоадресной передачи» из названия. Многоадресная рассылка или широковещательная передача - это адрес «отправить всем», как правило, это не имеет значения, когда мы говорим о p2p через Интернет. – enkryptor

+0

Готово. Я забыл удалить его из названия, когда я удалил его из требований. То, что я ищу, - это решение с суб-вторым сообщением от одного до десяти устройств (приблизительно), но одновременно. Таким образом, в общей сложности 90 сообщений на один килобайт доставлены второй секундой. Поэтому каждое устройство распределяет одно сообщение и получает 9 сообщений. Не уверен, какой правильный термин для такого распространения сообщений. – user1869131

ответ

0

Печальное состояние действительности заключается в том, что многоадресная рассылка IP не работает через открытый интернет. Таким образом, сеть распространения файлов p2p не использует ее, а это значит, что вы ее не найдете.

+0

Также, когда многоадресная рассылка должна быть только между 10 устройствами? – user1869131

+0

количество устройств не имеет значения. важно то, поддерживают ли маршрутизаторы между ними. – the8472

+0

Хорошо. Но я имею в виду, что сообщение «один ко многим», которое происходит быстро (суб-передача, как описано выше), должно быть, это невозможно? – user1869131