Release van nieuw op MongoDB gebaseerd apparaatregister in Eclipse Hono
Eclipse Hono, zoals beschreven op de officiële site, is een IoT-connectiviteitsplatform dat een uniforme API biedt voor het verbinden van een groot aantal IoT-apparaten met een backend, ongeacht de verschillende communicatieprotocollen die door de apparaten worden gebruikt. Hono biedt kant-en-klare ondersteuning voor apparaten die communiceren via protocollen zoals AMQP, COAP, HTTP en MQTT. Eclipse Hono bestaat uit verschillende microservices, die zijn verpakt als Docker-containers en worden ingezet in een container-orkestratiesysteem zoals Kubernetes.
Het apparaatregister is een van die componenten, waar Hono al zijn huurders, apparaten en apparaatreferenties bijhoudt. Het is cruciaal voor Hono omdat de protocoladapters het apparaatregister gebruiken om te controleren of een tenant en apparaat zijn geregistreerd en ingeschakeld. Daarnaast gebruiken de protocoladapters het apparaatregister om apparaten te verifiëren voordat ze telemetrie-, gebeurtenis- of opdrachtresponsberichten accepteren. Het apparaatregister implementeert ook op HTTP gebaseerde API's voor apparaatbeheer om de opslag van tenants, apparaten en inloggegevens te beheren.
Tot versie 1.3.0 bood Hono slechts één apparaatregistratie-implementatie aan, die het onderliggende lokale bestandssysteem gebruikte om de gegevens te bewaren. Dit op bestanden gebaseerde apparaatregister heeft zijn doel als demo-apparaatregister goed gediend. Het is echter niet bedoeld voor gebruik in productieomgevingen, omdat de componenten niet eenvoudig horizontaal kunnen worden uitgeschaald. Daarom moesten de gebruikers hun eigen apparaatregister implementeren om Hono in productieconfiguraties te gebruiken. Met de release van Hono 1.3.0 is hiervoor gezorgd en hoeft u geen eigen apparaatregister te implementeren om Hono in productieomgevingen te gebruiken.
Nieuw op MongoDB gebaseerd apparaatregister
Nu biedt Hono nog een apparaatregistratie-implementatie, die een MongoDB-database gebruikt om de gegevens te bewaren. In tegenstelling tot de op bestanden gebaseerde tegenhanger, is dit op MongoDB gebaseerde apparaatregister bedoeld voor gebruik in productie en ook in demo-instellingen. Het slaat huurders, apparaten en inloggegevens op in afzonderlijke collecties in de onderliggende MongoDB-database. MongoDB ondersteunt horizontaal uitschalen met behulp van technieken zoals sharding en datadistributie. Daar kan dit register de schaalbaarheid van de MongoDB gebruiken om zichzelf zonder problemen uit te schalen.
Bovendien kunt u de HTTP-eindpunten in het MongoDB-apparaatregister eenvoudig beveiligen met behulp van een basisverificatiemechanisme. Dit betekent dat de clients zich moeten verifiëren bij het op MongoDB gebaseerde apparaatregister door een gebruikersnaam en wachtwoord op te geven om tenants, apparaten en inloggegevens te beheren. U kunt het authenticatiemechanisme in- of uitschakelen door de configuratie-eigenschap hono.registry.http.authenticationRequired
in te stellen naar waar
of false
. Raadpleeg voor meer informatie over het configureren van het op MongoDB gebaseerde apparaatregister de configuratie van het op MongoDB gebaseerde apparaatregister.
Installeer Eclipse Hono met MongoDB-apparaatregister met behulp van roerkaart
De opslagplaats van Eclipse IoT-pakketten bevat roerdiagrammen, die u kunt gebruiken om Hono in een Kubernetes-cluster te installeren. Standaard implementeert de roerkaart van Hono het op bestanden gebaseerde apparaatregister. Ik zal je laten zien hoe je Hono installeert met het MongoDB-gebaseerde apparaatregister met behulp van Hono's roerkaart. Ik neem aan dat je al een actief Kubernetes-cluster hebt.
De eerste stap is om de eclipse IoT-pakkettenkaartrepository toe te voegen met behulp van de onderstaande opdracht. Deze opdracht voegt de repository toe met de naam eclipse-iot
.
Gebruik nu de onderstaande opdracht om Hono te implementeren met het MongoDB-gebaseerde apparaatregister naar de naamruimte hono
.
Zoals je hierboven kunt zien, heb ik de waarde ingesteld voor de eigenschap deviceRegistryExample.type
naar mongodb
. Dit configureert de grafiek om het op MongoDB gebaseerde register te implementeren in plaats van het standaard op bestanden gebaseerde register.
In de bovenstaande opdracht heb ik de eigenschap mongodb.createInstance
naar waar
. De standaardwaarde is false
en als het is ingesteld op true
, dan implementeert de grafiek een nieuwe MongoDB-database-instantie als een afzonderlijke microservice en gebruikt die database-instantie om de registergegevens van het apparaat op te slaan. Als u liever een reeds bestaande MongoDB-database-instantie gebruikt en geen nieuwe instantie maakt, stelt u mongodb.createInstance
in naar false
. Maak in dat geval gebruik van de onderstaande MongoDB-verbindingsconfiguratie-eigenschappen om naar de reeds bestaande MongoDB-database te verwijzen.
Met de bovenstaande stappen zou u inmiddels Hono al moeten hebben geïnstalleerd met het op MongoDB gebaseerde apparaatregister in het gegeven Kubernetes-cluster. U kunt de installatie ook controleren. Raadpleeg de README-pagina van Hono's roerkaart voor meer informatie over het verifiëren van de installatie.
Industriële technologie
- Samenwerking is de sleutel:nieuwe Eclipse softwaregedefinieerde voertuigwerkgroep
- Eclipse Hono 1.0.0 uitgebracht:een open IoT-connectiviteitsplatform
- SECO:nieuwe oplossingen gebaseerd op 8e generatie Intel Core U en 9e generatie Core H-processors
- Temperatuurgebaseerd apparaatbesturingssysteem met LM35
- Van IoT tot cryptojacking:inzicht in nieuwe bedreigingen voor mobiele apparaten
- Nieuw op laser gebaseerd systeem kan continu stralingsschade aan materialen monitoren
- Nieuw flexibel apparaat kan wifi-signalen omzetten in elektriciteit
- Nieuwe machine wekt elektriciteit op uit sneeuwbal
- Java 10 - Versiebeheer op basis van tijd
- Nieuwe 3D-printfilamenten op basis van PEKK en PVDF nu beschikbaar
- Industrie 5.0:de nieuwe revolutie