Obecnie pracuję nad architekturą dla aplikacji, która będzie zarządzać inteligentnymi gniazdami i potrzebuję porady. Oto, co mam na teraz:
Nie jestem pewien, jak poradzić sobie z połączeniem między sprężyną a gniazdem inteligentnym (chcę móc włączyć / wyłączyć gniazdo z mojej aplikacji internetowej). Komunikuję się z moimi gniazdami przez HTTP. Moim pomysłem jest posiadanie serwera, który będzie zarządzał połączeniami i poleceniami między Spring a gniazdami:
- Gdy gniazdo zostanie włączone, spróbuje połączyć się z serwerem.
- Serwer będzie czekał na nowe połączenia z inteligentnych gniazd, aby je zapisać. Będzie także czekał na polecenia ze strony Spring, aby zmienić stan gniazda.
Czy to dobry pomysł? Jeśli tak, czy jest jakieś narzędzie, które mi w tym pomoże (może być wbudowane wiosną), czy powinienem to napisać samodzielnie?
system-architecture
smart-plugs
Tomasz Kaniewski
źródło
źródło
Odpowiedzi:
Masz już możliwość publikowania danych za pomocą protokołu MQTT, nawet brokera i sposobu przekazywania określonych żądań do Spring z gniazda.
Nie widzę sensu przejmować odpowiedzialności za to, czy gniazdo jest podłączone do niektórych próśb na wiosnę. Broker MQTT robi to pod maską, nie musisz już wymyślać koła ponownie.
Tak więc stworzyłbym więcej wydawców i subskrypcji Springa i gniazda i używałbym MQTT jako protokołu, nie dotykając tym razem http.
źródło