muazwzxv / Micheal-Stack-Book

Event Driven Architecture in Go, Building complex system with asynchronicity and eventual consistency

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is this repoooo?

  • This repo is me writing my notes from reading this book by Micheal Stack
  • This repo will also contains the code from my reading and learnings.

What I picked up

  • Event storming (Need one more read)
  • Capturing domain events in our modules
  • Structuring a modular monolith in Go
  • Using gRPC and gRPC Gateway for gRPC API and REST API
  • Understanding types of events
  • Event sourcing to track changes
  • Event sourcing vs event streaming
  • Consistency in event sourcing database
  • Async communciation 101
  • Notification callbacks
  • Using NATS for message broker
  • Idempotency in message brokers
  • Message deduplication
  • Using database transaction for message deduplication
  • Message delivery guarantee
  • Orderded message guarantee
  • Potential problem being competing consumers
  • Event carried state transfer

TODO

  • Implement pub-sub internal library -> Later change to Watermill
  • Implement event sourcing internal libary
  • Implement serializer and deserializer internal library
  • Implement the modular monolith version

NOTE: Will upload my personal notes once I'm done with the book

About

Event Driven Architecture in Go, Building complex system with asynchronicity and eventual consistency


Languages

Language:Go 53.8%Language:CSS 29.2%Language:HTML 12.0%Language:Shell 2.4%Language:HCL 1.8%Language:JavaScript 0.3%Language:Makefile 0.2%Language:Dockerfile 0.2%Language:Gherkin 0.1%Language:PowerShell 0.0%