Страница 1 из 1

Способы коммуникации MajorDoMo с MajorDoMo

Добавлено: Пн фев 06, 2017 9:06 pm
Zaezd2008
Ситуация следующая, есть сервер MajorDoMo дома и аналогичный сервер на даче. Хочу реализовать передачу данных ( датчики и прочие события) с сервера дачи на сервак (основной пусть так называется) домашний.
Все, что пока придумал, это передача GET запросов между серверами. Может подскажет кто идейку на эту тему?

Re: Способы коммуникации MajorDoMo с MajorDoMo

Добавлено: Вт фев 07, 2017 11:18 am
sergejey
Zaezd2008 писал(а):Ситуация следующая, есть сервер MajorDoMo дома и аналогичный сервер на даче. Хочу реализовать передачу данных ( датчики и прочие события) с сервера дачи на сервак (основной пусть так называется) домашний.
Все, что пока придумал, это передача GET запросов между серверами. Может подскажет кто идейку на эту тему?
GET-запросы, веб-переменные, общий MQTT-сервер

Re: Способы коммуникации MajorDoMo с MajorDoMo

Добавлено: Вт фев 07, 2017 10:16 pm
Zaezd2008
Про MQTT интересно, но не понятно: общий сервер, соответственно можно получать данные с датчиков и прочее. А как в этом случае получить событие из самой системы?

Re: Способы коммуникации MajorDoMo с MajorDoMo

Добавлено: Ср фев 08, 2017 9:29 am
Bagir
А надо ли это? Лично у меня три системы общаются полностью на GET запросах. Каждая система сама знает, какие свои данные она должна передавать другой системе. Если данные не передаются долгое время, то у принимающего объекта свойство Alive становится =0 и при этом система зовёт админа.
На самом деле, удалённой системе которая совершает контроль, совершенно не интересно знать все, что твориться в подотчетной системе. Достаточно получить только результат её работы. Ну а если по какой то причине хочется самому спрашивать удаленную систему, то опять же GET в помощь. Вызывай нужные методы удаленной системы. Эти методы должны собрать нужные данные и отправить их ответом на запрос.

Рассмотрим к примеру ситуацию с контролем, что удаленная система работает. Проще говоря Ping.

Вариант 1:
У контролирующей системы есть объект. У него есть свойство alive. Удаленная система каждую минуту сама отправляет GET запрос. При этом у объекта контролирующей системы каждый раз обновляется время последнего изменения. Если оно устареет, то контролирующая система поднимет панику.

Вариант 2:
В удаленной системе есть метод ping. Контролирующая система каждую минуту сама спрашивает удаленную систему. Шлет Get запрос с вызовом метода ping (в методе можно посмотреть пример, как вызвать его по сети). Если контролирующая система не получает ответ, то поднимает панику.