- Beskriva ansvar och gränssnitt mellan tjänster.
- Koppla ihop MQTT och HTTP med en adapter.
- Lokalisera partiella fel och hantera omsändning.
Små tjänster med tydligt ansvar
Tjänsteorienterad arkitektur, SOA, delar upp ett system i samverkande tjänster med avgränsade ansvar och beskrivna gränssnitt. En implementation kan bytas ut så länge kontraktet hålls.
I kursens flöde mäter sensorn, brokern förmedlar, adaptern översätter, API:t exponerar data och konsumenten visar värdet. Komponenterna kan finnas på enheten, en gateway, en server eller i molnet.
Adaptern binder ihop protokollen
En MQTT-till-HTTP-adapter prenumererar på mätningar, parsar och validerar payload, serialiserar enligt API-kontraktet och skickar POST. Den måste också kontrollera HTTP-svaret. Att MQTT tog emot ett meddelande betyder inte att API:t sparade det.
MQTT-payload
→ parsa och validera
→ skapa API-request
→ POST /api/readings
→ kontrollera status och bodyNär bara en del går sönder
Om brokern fungerar men API:t är avstängt kan sensorn fortsätta publicera trots att konsumenten inte får nya värden. Detta är ett partiellt fel. Följ mätningen över varje tjänstegräns och kontrollera loggar och svar.
En timeout begränsar väntan men bevisar inte att operationen misslyckades. Servern kan ha sparat data innan svaret försvann. Omsändning kan därför skapa dubbletter; använd exempelvis ett mät-ID och en dokumenterad strategi för deduplicering.
Senast mottaget är inte alltid aktuellt
Ett API kan svara med ett gammalt mätvärde och ändå vara nåbart. Tidsstämplar gör aktualiteten synlig. Bestäm vad som ska visas vid gammal data och kom ihåg att minneslagring försvinner vid omstart.
Dokumentera källa, mål, vem som initierar anslutningen, protokoll och målport. Det underlaget behövs när du sedan begränsar nätverksåtkomsten.
Prova själv
Ta med ämnet in i ditt eget IoT-case. Dokumentera vad du upptäcker.
- Rita sensor → broker → adapter → API → konsument och ange ansvar vid varje steg.
- Skicka en känd mätning och jämför värdet i slutet av kedjan.
- Stoppa API:t och undersök vilka delar som fortfarande fungerar.
- Återställ tjänsten, skicka en ny mätning och dokumentera återhämtning och eventuell dataförlust.
Testa dina kunskaper
Stanna upp en stund. Vad har fastnat?
Fortsätt vara nyfiken
Originalmaterial och utvalda källor för dig som vill gå djupare.
Föreläsningsbilder · Ämne 5Joakim Englund · Systementor AB · PDF på svenskaMönstret publisher–subscriberMicrosoft Learn · EngelskaEtt steg närmare helheten.
Markera ämnet när du känner dig redo.