redis in kenshoo microservices - redis labs · redis in kenshoo microservices jesque based delayed...

25
Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman

Upload: others

Post on 01-Jun-2020

56 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Redis in Kenshoo microservicesJesque based delayed priority queue system

Presented by Dima Vizelman

Page 2: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

A Redis Use-Case

Performance Aggregation Microservice

Page 3: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

So what I am going to speak about?

❏ Brief intro to Analysis App❏ Aggregation server requirements❏ Proposed solution❏ Solution Overview❏ Key features of the provided service

Page 4: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Brief intro to Analysis App

1. Analysis app

Orchestrates advertising across search platforms

Page 5: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation
Page 6: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Brief intro to Analysis App

2. Performance aggregation microservice

A micro service which performs aggregations of statistics\performance data to be used for analysis.

Page 7: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Aggregation request

Brief intro to Analysis App

Page 8: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Performance aggregation microservice

Aggregation types:

● On demand\user initiated or scheduled ● Lightweight or heavy ● Real time or delayed

Brief intro to Analysis App

Page 9: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

❏ Brief intro to Analysis Apps❏ Aggregation server requirements❏ Proposed solution❏ Solution Overview❏ Key features of the provided service

Page 10: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

● 500 Analysis Apps

● 2500 scheduled aggregations per App

● 200 user requests every 5 seconds

Aggregation server requirements

Page 11: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

● UX

● Failure Handling

● Work in a cluster

Aggregation Server Requirements

Page 12: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

❏ Brief Intro to Analysis Apps❏ Aggregation Server Requirements❏ Proposed Solution❏ Solution Overview❏ Key Features of the Provided Service

Page 13: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Proposed Solution

Page 14: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

● Priority Queues

● Delayed Jobs

● Distributed workers

Proposed Solution

● Simple

● Fast

● Robust

Jesque - why?

Page 15: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

❏ Brief Intro to Analysis Apps❏ Aggregation Server Requirements❏ Proposed Solution❏ Solution Overview❏ Key Features of the Provided Service

Page 16: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Solution Overview

Page 17: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

❏ Brief Intro to Analysis Apps❏ Aggregation Server Requirements❏ Proposed Solution❏ Solution Overview❏ Key Features of the Provided Service

Page 18: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Priority Queue

Page 19: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

● No Priority Jobs

● High/Low Priority Queues

● Workers vs Queues

Priority Queue

Page 20: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Why delayed jobs ?

Delayed Jobs

Page 21: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Delayed Jobs

Page 22: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

❏ Brief Intro to Analysis Apps❏ Aggregation Server Requirements❏ Proposed Solution❏ Solution Overview❏ Key Features of the Provided Service❏ Bonus features

Page 23: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Disaster Recovery

1. Distributed cache

2. Persistency for disaster recovery information

Page 24: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Q&A

Page 25: Redis in Kenshoo microservices - Redis Labs · Redis in Kenshoo microservices Jesque based delayed priority queue system Presented by Dima Vizelman. A Redis Use-Case Performance Aggregation

Thank You!