Реализация device-control-service: gRPC + MQTT + Device Shadow в Redis
Добавлен gRPC-контракт proto/device_control (TurnOn/TurnOff/SetLevel), общий Go-модуль proto/ для переиспользования сгенерированного кода. device-control-service принимает команды по gRPC, обновляет desired_state в Redis и публикует их в MQTT; слушает devices/+/telemetry и devices/+/ack для отметки живости устройства и обновления reported_state; горутина health-check переводит устройство в offline по таймауту и публикует событие в RabbitMQ (device.status_changed) для будущего notification-service. Проверено сквозным тестом через docker compose: grpcurl TurnOn/SetLevel меняет desired_state и уходит в MQTT, mosquitto_pub с ack обновляет reported_state и статус, health-check автоматически переводит устройство в offline по истечении таймаута.
This commit is contained in:
@@ -3,6 +3,11 @@ services/**/bin/
|
||||
services/**/*.exe
|
||||
*.test
|
||||
*.out
|
||||
services/ingest-service/ingest-service
|
||||
services/device-control-service/device-control-service
|
||||
services/rule-engine-service/rule-engine-service
|
||||
services/health-check-service/health-check-service
|
||||
services/esp32-emulator/esp32-emulator
|
||||
|
||||
# Laravel
|
||||
laravel-app/vendor/
|
||||
|
||||
Reference in New Issue
Block a user