Skip to content

muni106/lab-activity-10

 
 

Repository files navigation

Software Architecture and Platforms - a.y. 2025-2026

Lab Activity #10 - 20251128

v1.1.0-20251130

Event-Driven Architectures and Microservices

  • Event store technology example: Apache Kafka
  • Documenting API in Event-Driven Architectures: AsyncAPI initiative
  • TTT Game System case study
    • Focus on ttt-game-service microservice: making it event-driven, using Kafka
      • designing event channels - both static and dynamic, inspired by REST principles
        • static event channels, functioning as a single entry point (à-la-REST)
          • create-game-requests (input)
          • create-game-requests-approved (output)
          • create-game-requests-rejected (output)
          • new-game-created (output)
        • dynamic event channels
          • to join a game identified by <gameId>
            • game-<gameId>-join-requests (input)
            • game-<gameId>-join-requests-approved (output)
            • game-<gameId>-join-requests-rejected (output)
          • to make a move by a player session identified by <playerSessionId>
            • session-<playerSessionId>-move-requests (input)
            • session-<playerSessionId>-move-requests-approved (output)
            • session-<playerSessionId>-move-requests-rejected (output)
          • about the events of game identified by <gameId>
            • game-<gameId>-events (output)
      • adding an event-driven controller
      • [TODO] implementing event sourcing
    • TTT Game Service AsyncAPI spec
    • Creating new proxies in other services interacting with ttt-game-service
      • ttt-lobby-service
      • ttt-api-gateway
    • Running
      • simple interaction example with the single service:
        • running the broker docker run -p 9092:9092 apache/kafka:4.1.1
        • running the service: ttt_game_service_infrastructure.GameServiceNoDockerMain
        • running ttt_game_service_infrastructure.SimpleInteractionExample
      • full TTT Game System
        • setting up all services and broker with docker compose up
        • interacting with the API gateway as seen in previous labs
    • TTT Game

About

Lab Activity #10 - 20251128

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 97.4%
  • Gherkin 2.0%
  • Dockerfile 0.6%