41_42
Uge 41-42: Message Brokers og RabbitMQ
Uge 41: Forståelse og Opsætning af RabbitMQ
Mål
- Få en grundlæggende forståelse af message brokers og RabbitMQ.
- Opsætte en RabbitMQ-instans og sende/modtage beskeder mellem microservices.
Plan
-
Introduktion til Message Brokers
- Undersøg Message Brokers generelt: Læs om, hvordan message brokers fungerer, og hvorfor de er nyttige til at håndtere beskeder i distribuerede systemer.
- RabbitMQ Koncepter: Gennemgå RabbitMQ’s arkitektur og de centrale begreber som exchanges, queues, bindings og routing keys.
-
Opsætning af RabbitMQ
- Installation: Installer RabbitMQ på din. Brug Docker.
- Basis Opsætning: Konfigurer RabbitMQ, så det understøtter dine udviklingsbehov, og verificer, at både en simple producer og consumer kan sende og modtage beskeder.
-
Hello World Eksempel
- Send og Modtag Beskeder: Implementér et simpelt "Hello World" eksempel, hvor én service sender en besked til RabbitMQ, og en anden service modtager beskeden.
Dokumentation
- Dokumentér installationstrinene, og beskriv koncepterne bag RabbitMQ for at fastholde den grundlæggende forståelse.
Uge 42: RabbitMQ i Microservices og Avanceret Messaging
Mål
- Integrere RabbitMQ med microservices og håndtere forskellige typer af besked-routing.
- Udvide brugen af RabbitMQ med fejlhåndtering og sikkerhed.
Plan
-
Routing og Exchanges
- Direct, Fanout og Topic Exchanges: Implementér forskellige typer exchanges (direct, fanout og topic) og forstå, hvordan de kan bruges til at kontrollere, hvordan beskeder distribueres mellem services.
- Routing Keys: Eksperimentér med routing keys for at målrette bestemte beskeder til bestemte forbrugere.
-
Beskedkøer og Skalering
- Skalerbar Message Consumption: Opsæt flere consumers til samme queue for at teste, hvordan RabbitMQ håndterer beskeder i parallelle forbrugsscenarier.
- Prioritets- og Tidsstyrede Køer: Implementer prioriterede køer og TTL (time-to-live) for beskeder, så du kan kontrollere meddelelsens levetid og prioritet.
Dokumentation
- Dokumentér opsætningen af hver type exchange og kø, og forklar, hvordan de påvirker dataflowet i systemet.