Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming

Yaroslav Tkachenko
Yaroslav TkachenkoPrincipal Software Engineer at Goldsky
Bravo Six, Going Realtime.
Transitioning Activision Data
Pipeline to Streaming
© 2020 Activision Publishing, Inc.
Hello!
I am Yaroslav Tkachenko
Software Architect at Activision Data.
You can find me at @sap1ens (pretty much everywhere).
2
Activision Data Pipeline
3
● Ingesting, processing and storing game telemetry data
● Providing tabular, API and streaming access to data
HTTP API
Schema
Registry
Magic
200k+ msg/s
Ingestion rate
9 years
Age of the oldest game
5+ PB
Data lake size (AWS S3)
5
Challenges
● Complex client-side & server-side game telemetry
● Long-living titles, hard to update or deprecate
● Various data formats, message schemas and envelopes
● Development data == production data
● Scalability, elasticity & cost
6
Established standards
7
● Kafka topic name conventions must be followed
● Payload schema must be uploaded to the Schema Registry
● Message envelope has a schema too (Protobuf), with a set of
required fields
Old pipeline
Quick overview
aggregate transform transform
devdata
proddata
Batch job*
(MR, Hive, Spark)
ETL API
* every X hours
transformed data
ETL’ed data
Prod data
Old pipeline
Architecture Flaws
● Scalability solution as a workaround
● Painful to switch between dev &
prod
● No streaming capabilities
● Adhoc integration
Bottlenecks
● Latency limitations
● MR glob length, memory is not
infinite (ETL API), etc.
● Lots of manual configuration
● Lots of manual ETL
11
New pipeline
It gets better from here
Apache Kafka
● The Streams API allows an application to act as a stream
processor, consuming an input stream from one or more topics
and producing an output stream to one or more output topics,
effectively transforming the input streams to output streams.
● The Connector API allows building and running reusable
producers or consumers that connect Kafka topics to existing
applications or data systems. For example, a connector to a
relational database might capture every change to a table.
13
~10 seconds
End-to-end streaming latency
90% cheaper
Per user/byte
6-24 hours → 5-10 mins
Tabular data available for querying
14
Kafka Streams
● One transformation step = one
service*
○ Not entirely true anymore, we’ve
combined some steps to optimize
cost and reduce unnecessary IO
● Stateless if possible
● Rich routing
● Auto-scaling & self-healing
● LOTS of tooling
Guiding principles
Kafka Connect
● Handle integration - AWS S3,
Cassandra, Elasticsearch, etc.
● Only sink connectors
● Invest in configuration,
deployments, monitoring
15
transform transform Connect
Why
Kafka
Streams?
17
Simple Java
library
Industry
standard
features
Separation
of concerns
that makes
sense
Kafka
first
Our internal protocol
18
Serialized Avro
Null (99%)
Schema guid
Other metadata,
mostly for routing
Kafka Message Value
Kafka Message Key
Kafka Message Headers
Schema management
● Schemas are generated & uploaded automatically if needed.
Schema hash is used as id
● Make schemas immutable and cache them aggressively. You
have to use them for every single record!
19
Schema
Registry API
Distributed
Cache
In-memory
Cache
Typical Kafka Streams
service topology
20
consume process
enrich produce
DLQ
21
1 KStream[] streams = builder
2 .stream(Pattern.compile(applicationConfig.getTopics()))
3 .transform(MetadataEnricher::new)
4 .transform(() -> new InputMetricsHandler(applicationMetrics))
5 .transform(ResultExtractor::new)
6 .transform(() -> new OutputMetricsHandler(applicationMetrics))
7 .branch(
8 (key, value) -> value instanceof RecordSucceeded,
9 (key, value) -> value instanceof RecordFailed,
10 (key, value) -> value instanceof RecordSkipped
11 );
12
13 // RecordSucceeded
14 streams[0].map((key, value) -> KeyValue.pair(key, ((RecordSucceeded)
value).getGenericRecord()))
15 .transform(SchemaGuidEnricher<String, GenericRecord>::new)
16 .to(new SinkTopicNameExtractor());
17
18 // RecordFailed
19 streams[1].process(dlqFailureResultHandlerSupplier);
Routing & configuration
Before:
<env>.<producer>.<title>.<category>-<protocol>
e.g.
prod.service-a.1234.match_summary-v1
“raw” data, no transformations
22
Routing & configuration
Now:
<env>.rdp.<game>.<stage1>
↓
<env>.rdp.<game>.<stage2>
↓
<env>.rdp.<game>.<stageN>
23
microservice
microservice
Routing & configuration
prod.rdp.mw.ingested
↓
prod.rdp.mw.parsed
24
microservice
prodMwServiceA:
stream:
headers:
env: prod
game: mw
source: service-a
exclude: <thingX>
action:
type: parse
protocol: proto2
Routing & configuration
prod.rdp.mw.ingested
↓
prod.rdp.mw.parsed
25
microservice
prodMwServiceA:
stream:
headers:
env: prod
game: mw
source: service-a
exclude: <thingX>
action:
type: parse
protocol: proto2Streams can be skipped, split, merged, sampled, etc.
Dynamic Routing*
26
● Centralized, declarative configuration
● Self-serve APIs and UIs
● Every change is automatically applied to all running services
within seconds
Infra & Tools
27
● One-click Kafka deployment (Jenkins, Ansible)
● Kafka broker EBS auto-scaling
● Versioned & deployable Kafka topic configuration
● Built tooling for:
○ Data reprocessing and DLQ resubmission
○ Offset migration between consumer groups
○ Message inspection
○ ...
Scaling
● Every application submits
<app_name>.lag metric in
milliseconds
● ECS Step Scaling: add/remove
X more instances every Y
minutes
● Add an extra policy for rapid
scaling
Auto-scaling & self-healing
Healing
● Heartbeat endpoint monitors
streams.state() result
● ECS healthcheck replaces
unhealthy instances
● Stateful applications need
more time to bootstrap
28
Why
Kafka
Connect?
29
Powerful
framework
Built-in
connectors
Separation
of concerns
that makes
sense
Kafka
first
Kafka Connect
● Multiple smaller clusters > one big cluster
● Connectors configuration lives in git, uses Jsonnet.
Deployment script leverages REST API
● Custom Converter, thanks to KIP-440
● ❤ lensesio/kafka-connect-ui
● Collecting & using tons of metrics available over JMX
30
C* Connector
● Implemented from scratch, inspired by JDBC connector
● Started with porting over existing C* integration code
● Took us a few days (!) to wrap it up
● Generalizing is hard
● Very performant, usually just a few tasks are running
31
ES Connector
● Using open-source kafka-connect-elasticsearch
● Leveraging SMTs to:
○ Partition single topic into multiple indexes
○ Enrich with a timestamp
● Currently very low-volume
32
S3 Connector
● Started with forking open-source kafka-connect-s3
● Added custom Avro and Parquet formats
● Added a new flexible partitioner
● Optimized connector for at-least-once delivery
○ Generate less files on S3, reduce TPS
○ Avoid file overrides with non-deterministic upload triggers
● Running hundreds of tasks
33
Dev data is prod data
● Scale is different, but the pipeline is the same
● Running as a separate set of services to reduce latency,
low latency is a requirement
● Different approach to alerting
Otherwise, it’s the same!
34
Use Case: RADS
Flatten my data!
36
{
"headers": {
"field1": "value1",
},
"data": {
"match": {
"field2": "value2"
},
"players": [
{"field3": "value3",
"field4": "value4"},
{"field3": "value3",
"field4": "value4"}
]
}
}
message_id context_headers_field1_s data_match_field2_s
... ... ...
... ... ...
fact_data
message_id index context_headers
_field1_s
data_players
_field3_i
...
... ... ... ... ...
... ... ... ... ...
fact_data_players
DDL
ingest transform flatten
table-generator
S3
connector
consolidator
Avro
Parquet
1:1 1:1 1:M
RADS
Schema
Registry API
Project API Metastore DB
S3
connector
Avro
Why is RADS rad?
● Has enough automation and generic configuration to
automatically create Hive databases, tables, add new
columns and partitions for a brand new game with no*
human intervention.
● As a data producer you just need to start sending data in
the right format to the right Kafka topic, that’s it!
● We get realtime (“hot”) and historical (“cold”) data in the
same place!
38
39
Thanks!
Any questions?
@sap1ens
1 of 39

Recommended

Streaming Data from Cassandra into Kafka by
Streaming Data from Cassandra into KafkaStreaming Data from Cassandra into Kafka
Streaming Data from Cassandra into KafkaAbrar Sheikh
888 views46 slides
Use ksqlDB to migrate core-banking processing from batch to streaming | Mark ... by
Use ksqlDB to migrate core-banking processing from batch to streaming | Mark ...Use ksqlDB to migrate core-banking processing from batch to streaming | Mark ...
Use ksqlDB to migrate core-banking processing from batch to streaming | Mark ...HostedbyConfluent
627 views25 slides
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2... by
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...confluent
935 views75 slides
ksqlDB - Stream Processing simplified! by
ksqlDB - Stream Processing simplified!ksqlDB - Stream Processing simplified!
ksqlDB - Stream Processing simplified!Guido Schmutz
1.1K views41 slides
Deploying Kafka Streams Applications with Docker and Kubernetes by
Deploying Kafka Streams Applications with Docker and KubernetesDeploying Kafka Streams Applications with Docker and Kubernetes
Deploying Kafka Streams Applications with Docker and Kubernetesconfluent
549 views44 slides
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streamin... by
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streamin...Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streamin...
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streamin...HostedbyConfluent
1.1K views39 slides

More Related Content

What's hot

A Tour of Apache Kafka by
A Tour of Apache KafkaA Tour of Apache Kafka
A Tour of Apache Kafkaconfluent
1.2K views37 slides
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber by
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ UberKafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uberconfluent
2.6K views50 slides
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka by
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaGuido Schmutz
575 views50 slides
Uber Real Time Data Analytics by
Uber Real Time Data AnalyticsUber Real Time Data Analytics
Uber Real Time Data AnalyticsAnkur Bansal
2.4K views71 slides
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka by
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaGuido Schmutz
1.4K views48 slides
SamzaSQL QCon'16 presentation by
SamzaSQL QCon'16 presentationSamzaSQL QCon'16 presentation
SamzaSQL QCon'16 presentationYi Pan
1.9K views50 slides

What's hot(20)

A Tour of Apache Kafka by confluent
A Tour of Apache KafkaA Tour of Apache Kafka
A Tour of Apache Kafka
confluent1.2K views
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber by confluent
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ UberKafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber
confluent2.6K views
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka by Guido Schmutz
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz575 views
Uber Real Time Data Analytics by Ankur Bansal
Uber Real Time Data AnalyticsUber Real Time Data Analytics
Uber Real Time Data Analytics
Ankur Bansal2.4K views
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka by Guido Schmutz
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz1.4K views
SamzaSQL QCon'16 presentation by Yi Pan
SamzaSQL QCon'16 presentationSamzaSQL QCon'16 presentation
SamzaSQL QCon'16 presentation
Yi Pan1.9K views
KSQL: Open Source Streaming for Apache Kafka by confluent
KSQL: Open Source Streaming for Apache KafkaKSQL: Open Source Streaming for Apache Kafka
KSQL: Open Source Streaming for Apache Kafka
confluent1.1K views
Will it Scale? The Secrets behind Scaling Stream Processing Applications by Navina Ramesh
Will it Scale? The Secrets behind Scaling Stream Processing ApplicationsWill it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing Applications
Navina Ramesh1.3K views
Kafka Summit SF 2017 - Real-Time Document Rankings with Kafka Streams by confluent
Kafka Summit SF 2017 - Real-Time Document Rankings with Kafka StreamsKafka Summit SF 2017 - Real-Time Document Rankings with Kafka Streams
Kafka Summit SF 2017 - Real-Time Document Rankings with Kafka Streams
confluent1.4K views
Follow the (Kafka) Streams by confluent
Follow the (Kafka) StreamsFollow the (Kafka) Streams
Follow the (Kafka) Streams
confluent526 views
Webinar: Deep Dive on Apache Flink State - Seth Wiesman by Ververica
Webinar: Deep Dive on Apache Flink State - Seth WiesmanWebinar: Deep Dive on Apache Flink State - Seth Wiesman
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
Ververica 1.2K views
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs by confluent
Leveraging Microservice Architectures & Event-Driven Systems for Global APIsLeveraging Microservice Architectures & Event-Driven Systems for Global APIs
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
confluent635 views
The State of Stream Processing by confluent
The State of Stream ProcessingThe State of Stream Processing
The State of Stream Processing
confluent748 views
Serverless and Streaming: Building ‘eBay’ by ‘Turning the Database Inside Out’ by confluent
Serverless and Streaming: Building ‘eBay’ by ‘Turning the Database Inside Out’ Serverless and Streaming: Building ‘eBay’ by ‘Turning the Database Inside Out’
Serverless and Streaming: Building ‘eBay’ by ‘Turning the Database Inside Out’
confluent1.8K views
Streaming process with Kafka Connect and Kafka Streams by vito jeng
Streaming process with Kafka Connect and Kafka StreamsStreaming process with Kafka Connect and Kafka Streams
Streaming process with Kafka Connect and Kafka Streams
vito jeng1K views
Introduction to the Processor API by confluent
Introduction to the Processor APIIntroduction to the Processor API
Introduction to the Processor API
confluent420 views
Kafka Summit NYC 2017 - Data Processing at LinkedIn with Apache Kafka by confluent
Kafka Summit NYC 2017 - Data Processing at LinkedIn with Apache KafkaKafka Summit NYC 2017 - Data Processing at LinkedIn with Apache Kafka
Kafka Summit NYC 2017 - Data Processing at LinkedIn with Apache Kafka
confluent3.4K views
Storing State Forever: Why It Can Be Good For Your Analytics by Yaroslav Tkachenko
Storing State Forever: Why It Can Be Good For Your AnalyticsStoring State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your Analytics
Yaroslav Tkachenko483 views
Building a Streaming Platform with Kafka by confluent
Building a Streaming Platform with KafkaBuilding a Streaming Platform with Kafka
Building a Streaming Platform with Kafka
confluent451 views

Similar to Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming

Event Driven Microservices by
Event Driven MicroservicesEvent Driven Microservices
Event Driven MicroservicesFabrizio Fortino
525 views26 slides
Chicago Kafka Meetup by
Chicago Kafka MeetupChicago Kafka Meetup
Chicago Kafka MeetupCliff Gilmore
771 views30 slides
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda... by
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...
End to End Processing of 3.7 Million Telemetry Events per Second using Lambda...DataWorks Summit/Hadoop Summit
3.1K views41 slides
Building a Dynamic Rules Engine with Kafka Streams by
Building a Dynamic Rules Engine with Kafka StreamsBuilding a Dynamic Rules Engine with Kafka Streams
Building a Dynamic Rules Engine with Kafka StreamsHostedbyConfluent
150 views26 slides
GPU-Accelerating A Deep Learning Anomaly Detection Platform by
GPU-Accelerating A Deep Learning Anomaly Detection PlatformGPU-Accelerating A Deep Learning Anomaly Detection Platform
GPU-Accelerating A Deep Learning Anomaly Detection PlatformNVIDIA
2.9K views36 slides
Spark Streaming& Kafka-The Future of Stream Processing by Hari Shreedharan of... by
Spark Streaming& Kafka-The Future of Stream Processing by Hari Shreedharan of...Spark Streaming& Kafka-The Future of Stream Processing by Hari Shreedharan of...
Spark Streaming& Kafka-The Future of Stream Processing by Hari Shreedharan of...Data Con LA
1.5K views27 slides

Similar to Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming(20)

Building a Dynamic Rules Engine with Kafka Streams by HostedbyConfluent
Building a Dynamic Rules Engine with Kafka StreamsBuilding a Dynamic Rules Engine with Kafka Streams
Building a Dynamic Rules Engine with Kafka Streams
HostedbyConfluent150 views
GPU-Accelerating A Deep Learning Anomaly Detection Platform by NVIDIA
GPU-Accelerating A Deep Learning Anomaly Detection PlatformGPU-Accelerating A Deep Learning Anomaly Detection Platform
GPU-Accelerating A Deep Learning Anomaly Detection Platform
NVIDIA2.9K views
Spark Streaming& Kafka-The Future of Stream Processing by Hari Shreedharan of... by Data Con LA
Spark Streaming& Kafka-The Future of Stream Processing by Hari Shreedharan of...Spark Streaming& Kafka-The Future of Stream Processing by Hari Shreedharan of...
Spark Streaming& Kafka-The Future of Stream Processing by Hari Shreedharan of...
Data Con LA1.5K views
Spark Streaming & Kafka-The Future of Stream Processing by Jack Gudenkauf
Spark Streaming & Kafka-The Future of Stream ProcessingSpark Streaming & Kafka-The Future of Stream Processing
Spark Streaming & Kafka-The Future of Stream Processing
Jack Gudenkauf1.8K views
Spark to DocumentDB connector by Denny Lee
Spark to DocumentDB connectorSpark to DocumentDB connector
Spark to DocumentDB connector
Denny Lee1K views
RAPIDS: GPU-Accelerated ETL and Feature Engineering by Keith Kraus
RAPIDS: GPU-Accelerated ETL and Feature EngineeringRAPIDS: GPU-Accelerated ETL and Feature Engineering
RAPIDS: GPU-Accelerated ETL and Feature Engineering
Keith Kraus2.4K views
Intro to Apache Apex - Next Gen Platform for Ingest and Transform by Apache Apex
Intro to Apache Apex - Next Gen Platform for Ingest and TransformIntro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Apache Apex1.2K views
Extending Spark Streaming to Support Complex Event Processing by Oh Chan Kwon
Extending Spark Streaming to Support Complex Event ProcessingExtending Spark Streaming to Support Complex Event Processing
Extending Spark Streaming to Support Complex Event Processing
Oh Chan Kwon5.5K views
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra... by Databricks
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...
Databricks741 views
Accelerating Real Time Analytics with Spark Streaming and FPGAaaS with Prabha... by Databricks
Accelerating Real Time Analytics with Spark Streaming and FPGAaaS with Prabha...Accelerating Real Time Analytics with Spark Streaming and FPGAaaS with Prabha...
Accelerating Real Time Analytics with Spark Streaming and FPGAaaS with Prabha...
Databricks732 views
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect... by HostedbyConfluent
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
HostedbyConfluent664 views
MACHBASE_NEO by MACHBASE
MACHBASE_NEOMACHBASE_NEO
MACHBASE_NEO
MACHBASE5 views
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics by Kohei KaiGai
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
Kohei KaiGai1.8K views
Spark (Structured) Streaming vs. Kafka Streams by Guido Schmutz
Spark (Structured) Streaming vs. Kafka StreamsSpark (Structured) Streaming vs. Kafka Streams
Spark (Structured) Streaming vs. Kafka Streams
Guido Schmutz5K views
Real time data pipline with kafka streams by Yoni Farin
Real time data pipline with kafka streamsReal time data pipline with kafka streams
Real time data pipline with kafka streams
Yoni Farin86 views

More from Yaroslav Tkachenko

Streaming SQL for Data Engineers: The Next Big Thing? by
Streaming SQL for Data Engineers: The Next Big Thing?Streaming SQL for Data Engineers: The Next Big Thing?
Streaming SQL for Data Engineers: The Next Big Thing?Yaroslav Tkachenko
198 views57 slides
Apache Flink Adoption at Shopify by
Apache Flink Adoption at ShopifyApache Flink Adoption at Shopify
Apache Flink Adoption at ShopifyYaroslav Tkachenko
1.1K views36 slides
It's Time To Stop Using Lambda Architecture by
It's Time To Stop Using Lambda ArchitectureIt's Time To Stop Using Lambda Architecture
It's Time To Stop Using Lambda ArchitectureYaroslav Tkachenko
213 views37 slides
Apache Kafka: New Features That You Might Not Know About by
Apache Kafka: New Features That You Might Not Know AboutApache Kafka: New Features That You Might Not Know About
Apache Kafka: New Features That You Might Not Know AboutYaroslav Tkachenko
4.9K views25 slides
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson... by
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...Yaroslav Tkachenko
1.8K views44 slides
Designing Scalable and Extendable Data Pipeline for Call Of Duty Games by
Designing Scalable and Extendable Data Pipeline for Call Of Duty GamesDesigning Scalable and Extendable Data Pipeline for Call Of Duty Games
Designing Scalable and Extendable Data Pipeline for Call Of Duty GamesYaroslav Tkachenko
1.1K views27 slides

More from Yaroslav Tkachenko(16)

Streaming SQL for Data Engineers: The Next Big Thing? by Yaroslav Tkachenko
Streaming SQL for Data Engineers: The Next Big Thing?Streaming SQL for Data Engineers: The Next Big Thing?
Streaming SQL for Data Engineers: The Next Big Thing?
Yaroslav Tkachenko198 views
Apache Kafka: New Features That You Might Not Know About by Yaroslav Tkachenko
Apache Kafka: New Features That You Might Not Know AboutApache Kafka: New Features That You Might Not Know About
Apache Kafka: New Features That You Might Not Know About
Yaroslav Tkachenko4.9K views
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson... by Yaroslav Tkachenko
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...
Yaroslav Tkachenko1.8K views
Designing Scalable and Extendable Data Pipeline for Call Of Duty Games by Yaroslav Tkachenko
Designing Scalable and Extendable Data Pipeline for Call Of Duty GamesDesigning Scalable and Extendable Data Pipeline for Call Of Duty Games
Designing Scalable and Extendable Data Pipeline for Call Of Duty Games
Yaroslav Tkachenko1.1K views
10 tips for making Bash a sane programming language by Yaroslav Tkachenko
10 tips for making Bash a sane programming language10 tips for making Bash a sane programming language
10 tips for making Bash a sane programming language
Yaroslav Tkachenko765 views
Kafka Streams: the easiest way to start with stream processing by Yaroslav Tkachenko
Kafka Streams: the easiest way to start with stream processingKafka Streams: the easiest way to start with stream processing
Kafka Streams: the easiest way to start with stream processing
Yaroslav Tkachenko6.6K views
Building Stateful Microservices With Akka by Yaroslav Tkachenko
Building Stateful Microservices With AkkaBuilding Stateful Microservices With Akka
Building Stateful Microservices With Akka
Yaroslav Tkachenko1.9K views
Akka Microservices Architecture And Design by Yaroslav Tkachenko
Akka Microservices Architecture And DesignAkka Microservices Architecture And Design
Akka Microservices Architecture And Design
Yaroslav Tkachenko4.6K views
Why Actor-Based Systems Are The Best For Microservices by Yaroslav Tkachenko
Why Actor-Based Systems Are The Best For MicroservicesWhy Actor-Based Systems Are The Best For Microservices
Why Actor-Based Systems Are The Best For Microservices
Yaroslav Tkachenko940 views
Why actor-based systems are the best for microservices by Yaroslav Tkachenko
Why actor-based systems are the best for microservicesWhy actor-based systems are the best for microservices
Why actor-based systems are the best for microservices
Yaroslav Tkachenko4.3K views
Building Eventing Systems for Microservice Architecture by Yaroslav Tkachenko
Building Eventing Systems for Microservice Architecture  Building Eventing Systems for Microservice Architecture
Building Eventing Systems for Microservice Architecture
Yaroslav Tkachenko3.6K views
Быстрая и безболезненная разработка клиентской части веб-приложений by Yaroslav Tkachenko
Быстрая и безболезненная разработка клиентской части веб-приложенийБыстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложений
Yaroslav Tkachenko801 views

Recently uploaded

Product Research sample.pdf by
Product Research sample.pdfProduct Research sample.pdf
Product Research sample.pdfAllenSingson
29 views29 slides
3196 The Case of The East River by
3196 The Case of The East River3196 The Case of The East River
3196 The Case of The East RiverErickANDRADE90
17 views4 slides
[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines by
[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines
[DSC Europe 23] Luca Morena - From Psychohistory to Curious MachinesDataScienceConferenc1
5 views20 slides
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M... by
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...DataScienceConferenc1
7 views11 slides
Data Journeys Hard Talk workshop final.pptx by
Data Journeys Hard Talk workshop final.pptxData Journeys Hard Talk workshop final.pptx
Data Journeys Hard Talk workshop final.pptxinfo828217
10 views18 slides
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ... by
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...DataScienceConferenc1
6 views15 slides

Recently uploaded(20)

Product Research sample.pdf by AllenSingson
Product Research sample.pdfProduct Research sample.pdf
Product Research sample.pdf
AllenSingson29 views
3196 The Case of The East River by ErickANDRADE90
3196 The Case of The East River3196 The Case of The East River
3196 The Case of The East River
ErickANDRADE9017 views
[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines by DataScienceConferenc1
[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines
[DSC Europe 23] Luca Morena - From Psychohistory to Curious Machines
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M... by DataScienceConferenc1
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
[DSC Europe 23] Milos Grubjesic Empowering Business with Pepsico s Advanced M...
Data Journeys Hard Talk workshop final.pptx by info828217
Data Journeys Hard Talk workshop final.pptxData Journeys Hard Talk workshop final.pptx
Data Journeys Hard Talk workshop final.pptx
info82821710 views
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ... by DataScienceConferenc1
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...
[DSC Europe 23][AI:CSI] Aleksa Stojanovic - Applying AI for Threat Detection ...
CRM stick or twist.pptx by info828217
CRM stick or twist.pptxCRM stick or twist.pptx
CRM stick or twist.pptx
info82821711 views
[DSC Europe 23][Cryptica] Martin_Summer_Digital_central_bank_money_Ideas_init... by DataScienceConferenc1
[DSC Europe 23][Cryptica] Martin_Summer_Digital_central_bank_money_Ideas_init...[DSC Europe 23][Cryptica] Martin_Summer_Digital_central_bank_money_Ideas_init...
[DSC Europe 23][Cryptica] Martin_Summer_Digital_central_bank_money_Ideas_init...
Advanced_Recommendation_Systems_Presentation.pptx by neeharikasingh29
Advanced_Recommendation_Systems_Presentation.pptxAdvanced_Recommendation_Systems_Presentation.pptx
Advanced_Recommendation_Systems_Presentation.pptx
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation by DataScienceConferenc1
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
[DSC Europe 23] Spela Poklukar & Tea Brasanac - Retrieval Augmented Generation
Short Story Assignment by Kelly Nguyen by kellynguyen01
Short Story Assignment by Kelly NguyenShort Story Assignment by Kelly Nguyen
Short Story Assignment by Kelly Nguyen
kellynguyen0119 views
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo... by DataScienceConferenc1
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...
UNEP FI CRS Climate Risk Results.pptx by pekka28
UNEP FI CRS Climate Risk Results.pptxUNEP FI CRS Climate Risk Results.pptx
UNEP FI CRS Climate Risk Results.pptx
pekka2811 views
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx by DataScienceConferenc1
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
[DSC Europe 23] Zsolt Feleki - Machine Translation should we trust it.pptx
Chapter 3b- Process Communication (1) (1)(1) (1).pptx by ayeshabaig2004
Chapter 3b- Process Communication (1) (1)(1) (1).pptxChapter 3b- Process Communication (1) (1)(1) (1).pptx
Chapter 3b- Process Communication (1) (1)(1) (1).pptx
ayeshabaig20047 views

Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming