Любая конкретная причина, по которой вы хотите, чтобы SF размещал клиента, а не наоборот?
Выполняя то, что вы предлагаете, я думаю, вы столкнетесь с большими проблемами, чтобы заставить SF найти эти устройства в вашей сети и отслеживать их, например, межсетевой экран, IP-адреса, NAT, плановое обслуживание, сбои, проблемы с подключением, если вы не планируете делать это вручную.
Из краткого описания, которое я видел в документах, предоставленных вами о сервере rosbridge я мог понять, что вы должны размещать его на сервере (например, с сервисом службы), и ваши устройства будут подключаться к нему, в этом случае ваши устройства должны были установить ROS, чтобы сделать это сообщение.
Что касается вашей озабоченности в отношении связи, сервисные сервисные услуги - это просто исполняемые программы, которые вы обычно запускаете на своей локальной машине, если они работают, скорее всего, будут работать на среде с сервисом, исходя из предпосылки, беспокоиться о внешнем доступе к кластеру (если в лазури или сети ork) и обнаружение службы.
На мой взгляд, вы должны использовать SF в качестве центральной точки связи, и каждое устройство будет подключаться к службам SF. Другим подходом было бы использование Azure IoT Hub для соединения связи между ними. Существует хороший Iot Hub + Service Fabric Sample , который может быть подходящим для ваших нужд.
Поскольку вы хотите избежать Azure, вы могли бы в этом случае заменить концентратор IoT другой платформой обмена сообщениями или реализовать rosbridge в своей службе для обработки вызовов.