Slide 1

Slide 1 text

Private & Confidential Spinning up microservices using Ruby/Kafka ankitagupta12

Slide 2

Slide 2 text

Private & Confidential API v/s Event Stream

Slide 3

Slide 3 text

Private & Confidential An event stream limits the concern of publishing service to broadcasting a message when an event occurs i.e. fire and forget What is an event stream?

Slide 4

Slide 4 text

Private & Confidential Kafka is a distributed, partitioned, replicated commit log service

Slide 5

Slide 5 text

Private & Confidential Kafka clusters contain topics that can be subscribed to by multiple consumers

Slide 6

Slide 6 text

Private & Confidential Producer. Publishes messages Consumer. Subscribes to messages Topic. Category of messages Key Definitions

Slide 7

Slide 7 text

Private & Confidential So what does this look like in practice?

Slide 8

Slide 8 text

Private & Confidential Pheromone. https://github.com/ankitagupta12/pheromone Pheromone allows easy publishing of changes (inserts and updates) in ActiveRecord models to topics in Kafka. Setting up your first Producer

Slide 9

Slide 9 text

Private & Confidential Setting up a Producer using Pheromone

Slide 10

Slide 10 text

Private & Confidential Karafka. https://github.com/karafka/karafka Karafka is a higher level abstraction on raw Kafka drivers, providing tools to set up consumers for multiple topics within a single application. Setting up your first Consumer

Slide 11

Slide 11 text

Private & Confidential Register a consumer and topic

Slide 12

Slide 12 text

Private & Confidential Add in the consumer logic

Slide 13

Slide 13 text

Private & Confidential Thank you