%3F%20.png)
Я разрабатываю продукт, который позволяет пользователям запускать службу дома, которая является частью более крупной сети. С этой службой должна регулярно связываться служба координации, работающая в облаке (на VPS). Механизм, реализованный для этого, полагается на обычный переадресацию портов на маршрутизаторе пользователя, выходящем в Интернет, но также нуждается в надежном способе обнаружения: введите DDNS.
Я хотел бы реализовать службу DDNS, которую можно было бы легко настроить с помощью службы, запущенной у пользователя (представьте, что служба просто имеет дополнительную функциональность клиента обновления DDNS). (Вы можете спросить, почему бы службе просто динамически не обновлять свойство "externalIP" и не информировать службу координации, но по нескольким причинам предпочтительнее сохранять эту конфигурацию статической и иметь постоянный контактный псевдоним для службы за брандмауэром пользователя)
На стороне сервера я надеюсь обойтись решением, которое может легко работать на VPS и предоставлять DDNS, например someuniqueid.nodes.mydomain.com
(где mydomain.com
принадлежит мне и указывает на VPS).
Решение должно надежно поддерживать потенциально тысячи клиентов (уникальные идентификаторы). (Для надежности координация, DDNS и вспомогательные службы, вероятно, будут масштабироваться с помощью k8s в конфигурации HA).
Есть ли какие-нибудь идеи относительно возможного эффективного решения этой проблемы?
решение1
Предположение, что
это опирается нанормальныйпереадресация портов на маршрутизаторе пользователя, подключенном к Интернету
будет надежно работать без вмешательства «эксперта», для большинства ваших пользователей, вероятно, имеет недостатки.
Типичное решениеhttps://en.m.wikipedia.org/wiki/Универсальный_Подключи_и_Воспроизведине поддерживается повсеместно.
Если только вы не ожидаете, что все ваши пользователи будутвсегданаходитесь в «домашних» сетях, которые позволяют настраивать переадресацию портов вручную, когда это не работает автоматически, вам действительно следует пересмотреть свой проект.
В общем, вы видите, что клиенты используют центральный сервер/сервис (через https на порту https по умолчанию), а не одноранговые соединения, и тогда вам не нужно назначать имена DNS для поиска ваших пользователей. Ваши пользователи найдут вас (или, скорее, ваши серверы)
что делает ваш вопрос и предполагаемое решение путем, по которому вам просто не следует идти.