SlideShare a Scribd company logo
Implementing a
scalable queuing
system using
Apache Kafka
Yaniv Bronhaim
Senior Software Engineer
Online Shopping World
● 10B total products all together
● 50K variants per product
● 50 reviews per minute
Session
outline ● Services & Communication
from web Point-Of-View
● Challenges
● Message Queue
● Kafka
● Innovation by Yotpo
Services & Communication
CreateReview(payload)
GetReviews(store_id)
GetReviewByTag(tag_id)
Yotpo Service
Save review with related
info (user data, product
data, score)
Review Service
CreateReview(payload)
Yotpo Service
Create Review Flow
Save review with related
info (user data, product
data, score)
Review Service
CreateReview(payload)
Yotpo Service
Insights processing (NLP
algorithm that
automatically tags the
review)
Reviews Tagging Service
Create Review Flow
Save review with related
info (user data, product
data, score)
Review Service
CreateReview(payload)
Insights processing (NLP
algorithm that
automatically tags the
review)
Reviews Tagging Service
Challenges
Yotpo Service
Requirements
Scalability
Recoverable
Monitoring
Save review with related
info (user data, product
data, score)
Review Service
Insights processing (NLP
algorithm that
automatically tags the
review)
Reviews Tagging Service
Scalability
Yotpo Service
CreateReview(payload)
Save review with related
info (user data, product
data, score)
Review Service
Insights processing (NLP
algorithm that
automatically tags the
review)
Reviews Tagging Service
Recoverable
Yotpo Service
CreateReview(payload)
Save review with related
info (user data, product
data, score)
Review Service
Insights processing (NLP
algorithm that
automatically tags the
review)
Reviews Tagging Service
Monitoring
Yotpo Service
CreateReview(payload)
Message Queue
Overview
Save review with related
info (user data, product
data, score)
Review Service
CreateReview(payload)
Insights processing (NLP
algorithm that
automatically tags the
review)
Reviews Tagging Service
Message Queue
Yotpo Service
Permits queuing of jobs for
subsequent processing (efficient)
The Good
Using Message-Queue
Can scale up (scalable)
Easy monitors and tools (intuitive)
The Good
Using Message-Queue
Safe from data loss (recoverable)
The Bad
Using Message-Queue
API awareness issues
Expensive (queue for each service)
Kafka
Overview
Kafka High
Architecture
Brokers, Topics, Partitions
Architecture
Offsets and Commits
Architecture
Consumers Groups
Architecture
Consumer Groups
Architecture
Save review with related
info (user data, product
data, score)
Review Service
Yotpo Service
CreateReview(payload)
Insights processing (NLP
algorithm that
automatically tags the
review)
Reviews Tagging Service
review_created_topic
Using Kafka
Permits queuing of jobs for
subsequent processing (efficient)
The Good
Kafka
Scalable
Easy monitors and tools (intuitive)
One publish triggers all (centralized)
Not safe from data loss
The Bad
Using Kafka
One point of failure
Save review with related
info (user data, product
data, score)
Review Service
Yotpo Service
CreateReview(payload)
Kafka + Message Queue
Insights processing (NLP
algorithm that
automatically tags the
review)
Reviews Tagging Service
review_created_topic
Zoom-in to Service Scale
Solution on Top of Kafka
Fast Commit Requires immediate
commit offset -> to allow parallel
consuming from same partition
Requires failure flow to allow
re-producing in case of consuming error
Align Usage And Configurations
Available in Go, Ruby and Java
Adds Kafka-Retry-Service (KRS)
Integration
Yotpo Kafka
Open-Source Kafka
Packages
On Top of Kafka
KRS Solution
On Top of Kafka
KRS Solution
Payloads are Saved, Re-triggered and Monitored
KRS
Summary ● Soon Available On Github
● Much More To Contribute
● On Production Since May 2019
● I’m Available For Questions
Questions?

More Related Content

What's hot (19)

PPTX
Fifth elephant 2017 Data Pipeline workshop
Ketan Khairnar
 
PDF
Netflix Recommendations Feature Engineering with Time Travel
Faisal Siddiqi
 
PPTX
Introduction to graphQL
Muhilvarnan V
 
PDF
This Week in Neo4j- 1st December 2018
Neo4j
 
PPTX
Into to GraphQL
shobot
 
PDF
Service abstractions - Part 1: Queries
Matthias Noback
 
PDF
GraphQL Advanced
LeanIX GmbH
 
PPTX
Data-driven development with GraphQL and Flow
Kang Jin Chia
 
PDF
WebCamp: Developer Day: Архитектура приложений на основе компонентов - Артем ...
GeeksLab Odessa
 
PPTX
Logic Apps reuse with microservices design
BizTalk360
 
PDF
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
BIOVIA
 
PDF
Exception Management patterns in Logic Apps
BizTalk360
 
PPTX
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Conference
 
PDF
Exploratory data analysis using apache lens and apache zeppelin
praagarw
 
PPTX
Evolving s3 story
Avi Perez
 
PPT
Ajax Prediction
nextlib
 
PPT
Audit and syslog lightning talk
Iván Arroyo Escobar
 
PPT
Eclipsecon2010
mariobernhart
 
PPTX
Gitana: a SQL-based Git Repository Inspector
Valerio Cosentino
 
Fifth elephant 2017 Data Pipeline workshop
Ketan Khairnar
 
Netflix Recommendations Feature Engineering with Time Travel
Faisal Siddiqi
 
Introduction to graphQL
Muhilvarnan V
 
This Week in Neo4j- 1st December 2018
Neo4j
 
Into to GraphQL
shobot
 
Service abstractions - Part 1: Queries
Matthias Noback
 
GraphQL Advanced
LeanIX GmbH
 
Data-driven development with GraphQL and Flow
Kang Jin Chia
 
WebCamp: Developer Day: Архитектура приложений на основе компонентов - Артем ...
GeeksLab Odessa
 
Logic Apps reuse with microservices design
BizTalk360
 
(ATS6-APP06) Accelrys LIMS and Accelrys ELN integration
BIOVIA
 
Exception Management patterns in Logic Apps
BizTalk360
 
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Conference
 
Exploratory data analysis using apache lens and apache zeppelin
praagarw
 
Evolving s3 story
Avi Perez
 
Ajax Prediction
nextlib
 
Audit and syslog lightning talk
Iván Arroyo Escobar
 
Eclipsecon2010
mariobernhart
 
Gitana: a SQL-based Git Repository Inspector
Valerio Cosentino
 

Similar to An open source, scalable queuing solution on top of apache kafka 2019 (20)

PPTX
Log Data Analysis Platform
Valentin Kropov
 
PPTX
Log Data Analysis Platform by Valentin Kropov
SoftServe
 
DOCX
Marth E commerce website development Proposal.docx
ssuser79420c
 
PDF
An Introduction to Microservices
Ad van der Veer
 
PDF
Server Monitoring (Scaling while bootstrapped)
Ajibola Aiyedogbon
 
PPTX
ELK Solutions Enablement Session - 17th March'2020
Ashnikbiz
 
PPT
QTP Online Training
QualityPoint Technologies
 
PDF
A Practical Deep Dive into Observability of Streaming Applications with Kosta...
HostedbyConfluent
 
PDF
Using Implicit Preference Relations to Improve Content-based Recommendations,...
Ladislav Peska
 
PPTX
GOTO Aarhus 2014: Making Enterprise Data Available in Real Time with elastics...
Yann Cluchey
 
PDF
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
confluent
 
PDF
Clean architectures with fast api pycones
Alvaro Del Castillo
 
PPTX
PM Club session 6
Prateek Parashar
 
PPTX
Virtualising Tier 1 Apps
Iwan Rahabok
 
PPTX
Do not automate GUI testing
Atila Inovecký
 
DOCX
summary
ANSHU GOYAL
 
PPTX
[Rakuten TechConf2014] [C-6] Japan ICHIBA Daily Work - Tools & Processes
Rakuten Group, Inc.
 
PDF
Azure Monitoring Overview
gjuljo
 
PDF
Dev309 from asgard to zuul - netflix oss-final
Ruslan Meshenberg
 
Log Data Analysis Platform
Valentin Kropov
 
Log Data Analysis Platform by Valentin Kropov
SoftServe
 
Marth E commerce website development Proposal.docx
ssuser79420c
 
An Introduction to Microservices
Ad van der Veer
 
Server Monitoring (Scaling while bootstrapped)
Ajibola Aiyedogbon
 
ELK Solutions Enablement Session - 17th March'2020
Ashnikbiz
 
QTP Online Training
QualityPoint Technologies
 
A Practical Deep Dive into Observability of Streaming Applications with Kosta...
HostedbyConfluent
 
Using Implicit Preference Relations to Improve Content-based Recommendations,...
Ladislav Peska
 
GOTO Aarhus 2014: Making Enterprise Data Available in Real Time with elastics...
Yann Cluchey
 
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
confluent
 
Clean architectures with fast api pycones
Alvaro Del Castillo
 
PM Club session 6
Prateek Parashar
 
Virtualising Tier 1 Apps
Iwan Rahabok
 
Do not automate GUI testing
Atila Inovecký
 
summary
ANSHU GOYAL
 
[Rakuten TechConf2014] [C-6] Japan ICHIBA Daily Work - Tools & Processes
Rakuten Group, Inc.
 
Azure Monitoring Overview
gjuljo
 
Dev309 from asgard to zuul - netflix oss-final
Ruslan Meshenberg
 
Ad

Recently uploaded (20)

PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PPTX
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Tally software_Introduction_Presentation
AditiBansal54083
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
Ad

An open source, scalable queuing solution on top of apache kafka 2019