Greyhound - Powerful Pure Functional Kafka library
summary
Greyhound is an open source Scala Kafka SDK rewritten with ZIO fibers for per-partition concurrency and used across ~1500 Wix microservices. It provides automatic per-partition dispatching, configurable nonblocking and blocking retry policies implemented as retry topics per interval (inspired by Uber), a resilient disk-backed producer with Kubernetes handoff, header-based request context injection into handlers, defaults to simplify setup, and metrics/dashboards. Current release is 0.1.5 and the rewrite reduces boilerplate while improving throughput and fault tolerance.
AI-written summary · about
chapters (13)
- 0:00Introduction to Greyhound
- 1:55Kafka fundamentals overview
- 4:03Removing boilerplate with Greyhound
- 7:17Functional design benefits
- 9:22Greyhound consumer internals
- 12:14Parallel consumption with fibers
- 14:42Error handling and retries
- 19:20Resilient producer for failures
- 21:08Context propagation in Kafka
- 24:19Pausing and monitoring features
- 25:44Greyhound use cases at Wix
- 27:13Rewriting Greyhound in ZIO
- 28:19Open source and resources
related talks
43mGreyhound - Powerful Pure Functional Kafka library
35mPolyglot, Fault-Tolerant Event-Driven Programming with Kafka....
52m10 LESSONS LEARNED FROM USING KAFKA IN 1000 SCALA MICROSERVICES
30m8 Lessons Learned from using Kafka with 1000 microservices
37mKafka Based Global Data Mesh at Wix
54mLessons learned from working with 2000 event-driven microservices
46mLessons Learned From Working with 2000 Event-Driven Microservices
41mReducing Microservice Complexity with Kafka and Reactive Streams
