This document provides an overview of Greyhound, a Scala/Java high-level SDK for Apache Kafka. It discusses key Kafka concepts like producers, brokers, topics and partitions. It then summarizes key Greyhound features like simple consumer APIs, composable record handlers, parallel and batch consumption, and retries. Diagrams are included to illustrate how Greyhound wraps the Kafka consumer and handles retries by publishing to retry topics. The presenter aims to abstract Kafka for developers and simplify APIs while adding useful features.
9. @NSilnitsky
Kafka Broker
Service A Service B
Abstract
so that it is easy to
change for everyone
Simplify
APIs, with additional
features
Greyhound
wraps Kafka
Kafka
Consumer
Kafka
Producer
10. @NSilnitsky
Multiple APIs
For Java, Scala and
Wix Devs
Greyhound
wraps Kafka
Scala Future ZIO Java
Kafka
Consumer
Kafka
Producer
Kafka Broker
ZIO Core
Service A Service B
* all logic
31. Greyhound
wraps Kafka
â Simple Consumer API
â Composable Record
Handler
â Parallel Consumption
+ Batch Consumption
What do we
want it to do?
...what about
batch processing?
35. Greyhound
wraps Kafka
â Simple Consumer API
â Composable Record
Handler
â Parallel Consumption
â Batch Consumption
+ Retries!
What do we
want it to do?
...what about
Error handling?
44. Greyhound
wraps Kafka
â Simple Consumer API
â Composable Record
Handler
â Parallel Consumption
â Batch Consumption
â Retries
+ Resilient Producer
What do we
want it to do?
and when
Kafka brokers
are
unavailable...
45. + Retry
on Error
Kafka Broker
Producer
Use Case:
Guarantee completion
Consumer
Wix
Payments
Service
Subscription
renewal
Job
Scheduler
46. + Retry
on Error
Kafka Broker
Producer
Use Case:
Guarantee completion
Consumer
Wix
Payments
Service
Job
Scheduler
50. Greyhound
wraps Kafka
â Simple Consumer API
â Composable Record Handler
â Parallel & Batch Consumption
â Retries
â Resilient Producer
+ Context Propagation
What do we
want it to do?
Super cool for
us
56. Greyhound
wraps Kafka
more features
â Simple Consumer API
â Composable Record Handler
â Parallel & Batch Consumption
â Retries
â Resilient Producer
â Context Propagation
â Pause/resume consumption
â Metrics reporting
57. Greyhound
wraps Kafka
â Simple Consumer API
â Composable Record Handler
â Parallel Consumption
â Retries
â Resilient Producer
â Context Propagation
â Pause/resume consumption
â Metrics reporting
future plans
+ Exactly Once Processing
+ Other Consumer strategies
+ Greyhound as a Service
Will be much
simpler with
ZIO