Vega Server
Re: Vega Server
Понятно, что канал не поможет, привел только как пример. С сервером все веселее - LORA протокол стековый, на основе очередей. Т.е. надо чтобы оба сервера вели синхронные очереди чуть ли не в рантайме. А самая "веселуха" - это пограничный момент, когда сервер умирает в момент после передачи сообщения к БС но до приема подтверждения или ответа... Все это надо очень правильно обработать, а это уже практически управление процессами в операционках. Семафоры и т.п.
Re: Vega Server
Не думаю, что синхронизация в данном случае имеет какой-либо смысл. Скорее всего она вообще не предусмотрена стандартом. Я привел пример независимого существования двух одновременно работающих серверов, каждый их которых не подозревает о существовании другого и ведет собственную базу данных. В случае потери основного сервера, мы сможем извлечь данные из базы резервного, чтобы затем восполнить ими пробел в базе данных основного сервера.petrov_ab писал(а): ↑Вт, 17 дек 2019 15:28Понятно, что канал не поможет, привел только как пример. С сервером все веселее - LORA протокол стековый, на основе очередей. Т.е. надо чтобы оба сервера вели синхронные очереди чуть ли не в рантайме. А самая "веселуха" - это пограничный момент, когда сервер умирает в момент после передачи сообщения к БС но до приема подтверждения или ответа... Все это надо очень правильно обработать, а это уже практически управление процессами в операционках. Семафоры и т.п.
Re: Vega Server
То, что UDP транспорт - это понятно. Не понятно ожидает ли базовая станция ответ от КОНКРЕТНОГО сервера или ей все равно кто примет соединение и ответит "с той стороны".
Хотелось бы почитать что-нибудь от разработчиков относительно протокола сетевого взаимодействия уровня приложения между сервером и базовой станцией. Или это NDA ?
Re: Vega Server
UDP работает без установления соединения. То есть входящие и исходящие пакеты не ассоциированы друг с другом. Вы можете вообще запретить весь трафик с сервера в сторону базовой станции командой iptables -A INPUT -s x.x.x.x -j DROP, но база продолжит слать пакеты серверу, а тот будет принимать их.
Re: Vega Server
Да, возможно ошибся. Не "примет соединение" а "примет пакет". Но суть вопроса про ожидаемый ответ не меняется..
Re: Vega Server
Еще раз повторю: связь вообще может быть односторонней БАЗА->СЕРВЕР. Базе, для того чтобы отправить на сервер данные, никакого ответа не требуется.
На базах Веги работает свободно распространяемое ПО Semtech UDP Packet Forwarder. Документация и исходники находятся в свободном доступе на github.com
Re: Vega Server
Про Semtech UDP Packet Forwarder знаю, но внутри его не разбирался (язык не тот). Но мне кажется он тоже относится ближе к транспорту - от устройств (через модемы) на БС и далее (через UDP) на сервер сети.
Пока не нашел описания протокола взаимодействия уровня ПРИЛОЖЕНИЯ. Например простая ситуация:
- новое устройство пытается подключиться в сеть через БС.
Какого содержания пакет (по UDP) должен прийти на сервер от БС ?
Какого содержания пакет сервер должен отправить на БС если устройство можно (или нельзя) подключить к сети ?
Насколько содержание этих пакетов специфично для устройств Vega (за исключением dev_eui и app_eui) ?
Где про это можно прочитать ?
Пока не нашел описания протокола взаимодействия уровня ПРИЛОЖЕНИЯ. Например простая ситуация:
- новое устройство пытается подключиться в сеть через БС.
Какого содержания пакет (по UDP) должен прийти на сервер от БС ?
Какого содержания пакет сервер должен отправить на БС если устройство можно (или нельзя) подключить к сети ?
Насколько содержание этих пакетов специфично для устройств Vega (за исключением dev_eui и app_eui) ?
Где про это можно прочитать ?
Re: Vega Server
Вопрос к разработчикам все еще в силе.
senswet писал(а): ↑Вт, 17 дек 2019 13:01Вопрос к разработчикам.
Возможно ли одновременное подключение к файлу базы данных сервера нескольких приложений?
Есть потребность периодически чистить быстрорастущую базу от старых записей, а сервер останавливать не хочется.
До каких размеров может вырасти файл базы данных без потери производительности сервера?