Practical eff monad for micro services
summary
Zalando builds an article microservice using the Eff monad to type effect stacks, a reader-based dependency injection layer (generated by annotations) and tree rewriting (gamma/Stratego style) to swap or singletonize components so the new legacy Zeos backend replaces the planned product service without rewiring code. Tests instantiate components in isolation or rewrite the app tree to inject mocks; services start lazily and then run a controlled bottom-up start. Interfaces use low-level effects and applicative concurrency to run parallel service calls.
AI-written summary · about
chapters (19)
- 0:00Intro
- 1:57What is a microservice
- 5:05Constructor injection
- 11:42Reusing components
- 14:04Testing
- 14:25Integration Testing
- 14:59Tree Rewriting
- 17:53Main application
- 19:57Important point
- 22:44Explanation of eff
- 24:35eff library
- 26:11flowid
- 28:00logging
- 31:10Applicative concurrency
- 33:22Learnings
- 34:49Modeling errors
- 37:00Free monad
- 42:00Summary
- 43:24Open Union of Effects
related talks
49mPractical Eff monad for microservices
38mFrom Monolith to Microservices at Zalando
46mSimplifying Microservices: The art of effortless development
15mMicroservices with Elixir
43mGo micro with Microservices
40mFrom Monolith to Observable Microservices using DDD
36mGrudging Monkeys and Microservices
38mMonolith vs. Microservices
