SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
CONFIDENTIAL designator
An Exploration of the Kafka Streams API
Processing Game Telemetry with
OpenShift Streams for Apache Kafka
Evan Shortiss
Technical Marketing Manager
1
@evanshortiss
CONFIDENTIAL designator
Welcome!
2
Source:
Spider-Man (2018) by Insomniac Games and Sony Interactive Entertainment
CONFIDENTIAL designator
3
Apache Kafka is a distributed system designed for streams. It
is built to be an high-availability, horizontally-scalable,
fault-tolerant, commit log, and allows distributed data
streams and stream processing applications.
Known use cases are:
▸ High-performance data pipelines
▸ Streaming analytics
▸ Data integration
What is Kafka?
What is Apache Kafka?
Open-source distributed event streaming platform
Learn more on the Apache Kafka
community page:
https://kafka.apache.org/
CONFIDENTIAL designator
Source:
https://kafka.apache.org/
Brokers, topics, partitions, producers, and consumers!
What is Kafka?
4
What is Apache Kafka?
Kafka Cluster
Broker A Broker B Broker C
Consumer Group
Topic: Clicks Topic: Purchases
P1 P2 P3 P1 P2 P3
Producer Group
CONFIDENTIAL designator
Source:
https://kafka.apache.org/intro
What is Kafka?
5
APIs
What is Apache Kafka?
▸ The Admin API to manage and inspect topics, brokers, and other Kafka objects.
▸ The Producer API to publish (write) a stream of events to one or more Kafka topics.
▸ The Consumer API to subscribe to (read) one or more topics and to process the
stream of events produced to them.
▸ The Kafka Streams API to implement stream processing applications and
microservices.
▸ The Kafka Connect API to build and run reusable data import/export connectors
that consume (read) or produce (write) streams of events from and to external
systems and applications so they can integrate with Kafka.
CONFIDENTIAL designator
Kafka & Video Game Telemtry
6
Use Cases
Kafka and Video Game Telemetry
▸ Modern video games are constantly evolving post-release.
▸ Developers release patches with new features and game
balance fixes.
▸ Data-driven decision making can increase the value of each
iteration.
▸ Popular video games have millions of daily active users.
▸ Generate millions/billions of telemetry events and data.
▸ Kafka, Kafka Streams, and the broader ecosystem can be used
for ingestion and processing data!
Source:
https://steamcharts.com (July 14th 2021)
600,000 Counter-Strike players firing just 20 shots could
generate 12,000,000 unique events!
CONFIDENTIAL designator
Shipwars, a Battleship style
game where players
face-off against AI
opponents.
First to sink opponent
ships is the winner.
Bonus round provides an
opportunity to boost
high-scores.
7
Kafka at Red Hat Summit 2021
Red Hat Summit 2021
CONFIDENTIAL designator
Kafka at Red Hat Summit 2021
8
3 Clusters, Open Hybrid Cloud
AWS, Azure, and GCP
CONFIDENTIAL designator
Scoring API
Kafka at Red Hat Summit 2021
9
Game Server
WebSocket
Game State
Players
Matches
Scores
Binary
Cloud Event
Broker
HTTP
Cloud Events
Scoring/Bonus APIs
HTTP
Cloud Events
Binary
Strimzi Kafka
3 Clusters, Open Hybrid Cloud
AWS, Azure, and GCP
AI Move REST API
HTTP Request
Next Move
Bot State Machines
HTTP Request
Create AI Bot Player
WebSocket
CONFIDENTIAL designator
Kafka at Red Hat Summit 2021
10
3 Clusters, Open Hybrid Cloud
AWS, Azure, and GCP
Search for Katia Aresti’s content about the
leaderboard and Infinispan replication on Red Hat
Developers YouTube and Blog!
CONFIDENTIAL designator
Scoring API
Kafka at Red Hat Summit 2021
11
Game Server
WebSocket
Game State
Players
Matches
Scores
Binary
Cloud Event
Broker
Scoring/Bonus APIs
HTTP
Cloud Events
Binary
Kafka
Leaderboard
Binary
WebSocket
3 Clusters, Open Hybrid Cloud
AWS, Azure, and GCP
HTTP
Cloud Events
AI Move REST API
HTTP Request
Next Move
Bot State Machines
HTTP Request
Create AI Bot Player WebSocket
CONFIDENTIAL designator
Human: Connected
AI: Connected
12
Introduction
Event Stream
CONFIDENTIAL designator
Human: Connected
AI: Connected
Human: [4,0] / Hit
13
Introduction
Event Stream
CONFIDENTIAL designator
Human: Connected
AI: Connected
Human: [4,0] / Hit
AI: [3,1] / Miss
14
Introduction
Event Stream
CONFIDENTIAL designator
Human: Connected
AI: Connected
Human: [4,0] / Hit
AI: [3,1] / Miss
Human: [4,1] / Hit
15
Introduction
Event Stream
CONFIDENTIAL designator
Human: Connected
AI: Connected
Human: [4,0] / Hit
AI: [3,1] / Miss
Human: [4,1] / Hit
AI: [1,2] / Miss
16
Introduction
Event Stream
CONFIDENTIAL designator
Human: Connected
AI: Connected
Human: [4,0] / Hit
AI: [3,1] / Miss
Human: [4,1] / Hit
AI: [1,2] / Miss
Human: [3,1] / Hit
17
Introduction
Event Stream
CONFIDENTIAL designator
Human: Connected
AI: Connected
Human: [4,0] / Hit
AI: [3,1] / Miss
Human: [4,1] / Hit
AI: [1,2] / Miss
Human: [3,1] / Hit
AI: [1,3] / Hit
18
Introduction
Event Stream
CONFIDENTIAL designator
Human: Connected
AI: Connected
Human: [4,0] / Hit
AI: [3,1] / Miss
Human: [4,1] / Hit
AI: [1,2] / Miss
Human: [3,1] / Hit
AI: [1,3] / Hit
Human: [3,2] / Hit
19
Introduction
Event Stream
CONFIDENTIAL designator
Human: Connected
AI: Connected
Human: [4,0] / Hit
AI: [3,1] / Miss
Human: [4,1] / Hit
AI: [1,2] / Miss
Human: [3,1] / Hit
AI: [1,3] / Hit
Human: [3,2] / Hit
AI: [2,3] / Miss
20
Introduction
Event Stream
CONFIDENTIAL designator
Human: Connected
AI: Connected
Human: [4,0] / Hit
AI: [3,1] / Miss
Human: [4,1] / Hit
AI: [1,2] / Miss
Human: [3,1] / Hit
AI: [1,3] / Hit
Human: [3,2] / Hit
AI: [2,3] / Miss
Human: [1,1] / Miss
21
Introduction
Event Stream
CONFIDENTIAL designator
Product Overview
22 https://red.ht/TryKafka
Development Preview trial available for free at:
CONFIDENTIAL designator
Red Hat OpenShift Streams for Apache Kafka
Complete solution for stream-based applications
Product Overview
23
Metrics
&
monitoring
Configuration
mgmt
Hosted & managed (99.95% SLA)
Kafka cluster
Broker(s)
Topic(s)
Streamlined developer experience: a curated solution
with a developer-first, consistent experience
Delivered as a service, managed by Red Hat SRE -
24x7 global support and a 99.95% service-level
agreement (SLA)
Real-time, streaming data broker - Dedicated Apache
Kafka cluster deliver as a service in the cloud and
location of choice
▸ Access to Kafka brokers, topics, and partitions
▸ Configuration management
▸ Metrics and monitoring
▸ UI / CLI / API / service bindings
▸ Integrated identity & access management
STREAMLINED DEVELOPER EXPERIENCE
UI API
CLI Service Binding
https://red.ht/TryKafka
CONFIDENTIAL designator
24
▸ Based on the Strimzi community project that provides an
optimized version of Apache Kafka on Kubernetes
▸ Access to customer dedicated Kafka instances. Each
instance provides Kafka core capabilities
▸ Kafka instances are configured based on opinionated
recommendations made by Red Hat experts
Product Overview
A dedicated managed Apache Kafka cluster
An opinionated experience for your Kafka service
Apache Kafka
implementation
optimized for OpenShift
https://red.ht/TryKafka
CONFIDENTIAL designator
Kafka Streams Topology
25
CONFIDENTIAL designator
Kafka Streams Topology
26
CONFIDENTIAL designator
End the Keynote demo with a
twist.
Prove that we can track all
events throughout the game!
27
Introduction
Red Hat Summit 2021
ALL YOUR BASE EVENT ARE BELONG
TO US.
Source:
Zero Wing by Namco (1989) and Williams Electronics (1990)
CONFIDENTIAL designator
Record player “connect”
events. Each player and
match is unique.
Capture each “attack” by
each player.
Join these events together
to create a complete record
of each match.
28
Introduction
Aggregate Match
Visualisation
CONFIDENTIAL designator
Record player “connect”
events and player type.
Capture each “attack” by
each player.
Create a matrix using this
data to understand where
humans tend to shoot or
place their ships.
Subscribe the AI model to
this real-time data so it
continuously learns.
29
Introduction
Real-time AI
Adjustment
https://github.com/redhat-gamedev/shipwars-move-server/blob/master/prediction.py
CONFIDENTIAL designator
Game Server
Game Server
Kafka Streams Topology
30
Game Server
WebSocket
Attacks Topic
Key Value (Player,Result, Cell)
GameVer:MatchA PlayerA,Hit [0,1]
GameVer:MatchA PlayerB,Hit [2,3]
GameVer:MatchA PlayerA,Hit [1,2]
GameVer:MatchB PlayerD,Miss [4,1]
Players Topic
Key Value (Name, Type, Region)
PlayerA Slow Bow, Human, EMEA
PlayerB Iron Ocelot, AI, EMEA
PlayerC Plume Boar, Human, APAC
PlayerD Rose Fang, AI, APAC
CONFIDENTIAL designator
Game Server
Game Server
Kafka Streams Topology
31
Game Server
WebSocket
Attacks Topic
Key Value (Player,Result, Cell)
GameVer:MatchA PlayerA,Hit [0,1]
GameVer:MatchA PlayerB,Hit [2,3]
GameVer:MatchA PlayerA,Hit [1,2]
GameVer:MatchB PlayerD,Miss [4,1]
Source:
Super Mario 3D World via https://mario.fandom.com
Players Topic
Key Value (Name, Type, Region)
PlayerA Slow Bow, Human, EMEA
PlayerB Iron Ocelot, AI, EMEA
PlayerC Plume Boar, Human, APAC
PlayerD Rose Fang, AI, APAC
CONFIDENTIAL designator
Game Server
Game Server
Kafka Streams Topology
32
Game Server
WebSocket
Attacks Topic
Key Value (Player,Result, Cell)
GameVer:MatchA PlayerA,Hit [0,1]
GameVer:MatchA PlayerB,Hit [2,3]
GameVer:MatchA PlayerA,Hit [1,2]
GameVer:MatchB PlayerD,Miss [4,1]
Source:
Super Mario 3D World via https://mario.fandom.com
Players Topic
Key Value (Name, Type, Region)
PlayerA Slow Bow, Human, EMEA
PlayerB Iron Ocelot, AI, EMEA
PlayerC Plume Boar, Human, APAC
PlayerD Rose Fang, AI, APAC
Kafka Streams API
CONFIDENTIAL designator
Stateless Processing
Kafka Streams Topology
33
Kafka Streams
Attacks Topic
Key Value (Player,Result, Cell)
GameVer:MatchA PlayerA,Miss [0,1]
GameVer:MatchA PlayerB,Hit [2,3]
GameVer:MatchA PlayerA,Hit [1,2]
GameVer:MatchB PlayerD,Miss [4,1]
Filter out missed shots
Only Hits Topic
Key Value (Player,Result, Cell)
GameVer:MatchA PlayerB,Hit [2,3]
GameVer:MatchA PlayerA,Hit [1,2]
Kafka Streams API
Filter (Stateless)
CONFIDENTIAL designator
Kafka Streams
Join
Game Server
Game Server
Kafka Streams Topology
34
Game Server
WebSocket
Topic: Attacks
Key Value (Result, Cell)
GameVer:MatchA PlayerA,Hit [0,1]
GameVer:MatchA PlayerB,Hit [2,3]
GameVer:MatchA PlayerC,Hit [1,2]
GameVer:MatchB PlayerD,Miss [4,1]
Topic: Players
Key Value (Name, Type, Region)
PlayerA Slow Bow, Human, EMEA
PlayerB Iron Ocelot, AI, EMEA
PlayerC Plume Boar, Human, APAC
PlayerD Rose Fang, AI, APAC
Topic: Enriched Attacks
Key Value
GameVer:MatchA Human,Hit [0,1]
GameVer:MatchA AI,Hit [2,3]
GameVer:MatchA Human,Hit [1,2]
GameVer:MatchB AI,Miss [4,1]
Stateful Processing
Kafka Streams
CONFIDENTIAL designator
Kafka Streams Topology
35
Topic: Enriched Attacks
Key Value
GameVer:MatchA Human,Hit [0,1]
GameVer:MatchA AI,Hit [2,3]
GameVer:MatchA Human,Hit [1,2]
GameVer:MatchB AI,Miss [4,1]
Topic: Match Aggregates
Key Value
GameVer:MatchA [ { human,hit:0,1 } ]
GameVer:MatchA [ { human,hit:0,1 }, { ai,hit:2,3 } ]
GameVer:MatchA [ { human,hit:0,1 }, { ai,hit:2,3 }, { human,hit:1,2 } ]
GameVer:MatchB [ { ai,miss:4,1 } ]
Aggregation State: Match Aggregates
Key Value(s)
GameVer:MatchA [ { human,hit:0,1 }, { ai,hit:2,3 }, { human,hit:1,2 } ]
GameVer:MatchB [ { ai,miss:4,1 } ]
Kafka Streams Aggregation
Commit to Topic on a
fixed interval.
Can restore Kafka
Streams table state from
Topic.
Kafka Streams
Join
CONFIDENTIAL designator
Game Server
Game Server
Kafka Streams Topology
36
Game Server
WebSocket
players
attacks
enriched-attacks
match-aggregates
Produce
Produce
GlobalKTable
KStream
Consume
Consume
Join on
Player ID
Produce
KStream
Consume
Update
Aggregate
Record
Group By
Key
(Game Ver.
& Match ID)
Produce
Kafka Streams: Join
Kafka Streams: Aggregation
Kafka Topics
Consume
CONFIDENTIAL designator
Replay Service
Each Game Server instance
produces shots to the Managed
Kafka Cluster
Kafka Streams Topology
37
Game Server
WebSocket
Produce
Consume
Records
players & attacks
match-aggregates
Produce
Match Aggregates
Query RocksDB
via HTTP API
Render Match Replay
in Web Browser
OpenShift Dedicated
Single Region Processing Cluster
OpenShift Dedicated
3 Region Game Clusters
Kafka Streams
Single Region
CONFIDENTIAL designator
1. Define Serdes.
2. Create shots KStream.
3. Create players GlobalKTable.
4. Join stream and table using
composite key.
5. Return new record (String)
that contains player type, shot
result, and shot cell.
38
Kafka Streams Topology
Kafka Streams: Join
CONFIDENTIAL designator
1. Define Serde.
2. Enriched shots KStream.
3. Group by key.
4. Aggregate grouped records.
5. Materialise record into store.
6. Write record to aggregate
topic.
39
Kafka Streams Topology
Kafka Streams: Aggregate
CONFIDENTIAL designator
Kafka Streams Topology
40
CONFIDENTIAL designator
Horizontally Scalable
Kafka Streams Topology
41
Kafka Streams Scaling
CONFIDENTIAL designator
Demo
42
Source:
https://crimson-ceremony.net
CONFIDENTIAL designator
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat
43
Red Hat is the world’s leading provider of enterprise
open source software solutions. Award-winning
support, training, and consulting services make
Red Hat a trusted adviser to the Fortune 500.
Thank you

Contenu connexe

Tendances

Ofir Makmal - Intro To Kubernetes Operators - Google Cloud Summit 2018 Tel Aviv
Ofir Makmal - Intro To Kubernetes Operators - Google Cloud Summit 2018 Tel AvivOfir Makmal - Intro To Kubernetes Operators - Google Cloud Summit 2018 Tel Aviv
Ofir Makmal - Intro To Kubernetes Operators - Google Cloud Summit 2018 Tel AvivOfir Makmal
 
Die große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-HitparadeDie große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-HitparadeQAware GmbH
 
Sf bay area Kubernetes meetup dec8 2016 - deployment models
Sf bay area Kubernetes meetup dec8 2016 - deployment modelsSf bay area Kubernetes meetup dec8 2016 - deployment models
Sf bay area Kubernetes meetup dec8 2016 - deployment modelsPeter Ss
 
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeAcademy
 
Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Giacomo Tirabassi
 
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Martin Etmajer
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesPaul Czarkowski
 
Helm - Package Manager for Kubernetes
Helm - Package Manager for KubernetesHelm - Package Manager for Kubernetes
Helm - Package Manager for KubernetesKnoldus Inc.
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriCI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriDoiT International
 
Monoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootMonoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootTiera Fann, MBA
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gatewayChengHui Weng
 
Kubernetes and the hybrid cloud with Skupper | DevNation tech talk
Kubernetes and the hybrid cloud with Skupper | DevNation tech talkKubernetes and the hybrid cloud with Skupper | DevNation tech talk
Kubernetes and the hybrid cloud with Skupper | DevNation tech talkRed Hat Developers
 
Spring Cloud and Netflix OSS overview v1
Spring Cloud and Netflix OSS overview v1Spring Cloud and Netflix OSS overview v1
Spring Cloud and Netflix OSS overview v1Dmitry Skaredov
 
GPU enablement for data science on OpenShift | DevNation Tech Talk
GPU enablement for data science on OpenShift | DevNation Tech TalkGPU enablement for data science on OpenShift | DevNation Tech Talk
GPU enablement for data science on OpenShift | DevNation Tech TalkRed Hat Developers
 
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18CodeOps Technologies LLP
 
Kubernetes Networking 101
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101Kublr
 
Reactive messaging Quarkus and Kafka
Reactive messaging Quarkus and KafkaReactive messaging Quarkus and Kafka
Reactive messaging Quarkus and KafkaBruno Horta
 
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...VMware Tanzu
 
Application Portability with Kubernetes (k8)
Application Portability with Kubernetes (k8)Application Portability with Kubernetes (k8)
Application Portability with Kubernetes (k8)Kublr
 

Tendances (20)

Ofir Makmal - Intro To Kubernetes Operators - Google Cloud Summit 2018 Tel Aviv
Ofir Makmal - Intro To Kubernetes Operators - Google Cloud Summit 2018 Tel AvivOfir Makmal - Intro To Kubernetes Operators - Google Cloud Summit 2018 Tel Aviv
Ofir Makmal - Intro To Kubernetes Operators - Google Cloud Summit 2018 Tel Aviv
 
Die große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-HitparadeDie große Cloud-native FaaS-Hitparade
Die große Cloud-native FaaS-Hitparade
 
Sf bay area Kubernetes meetup dec8 2016 - deployment models
Sf bay area Kubernetes meetup dec8 2016 - deployment modelsSf bay area Kubernetes meetup dec8 2016 - deployment models
Sf bay area Kubernetes meetup dec8 2016 - deployment models
 
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an EnterpriseKubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
KubeCon EU 2016: ITNW (If This Now What): Orchestrating an Enterprise
 
From Code to Kubernetes
From Code to KubernetesFrom Code to Kubernetes
From Code to Kubernetes
 
Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators
 
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Helm - Package Manager for Kubernetes
Helm - Package Manager for KubernetesHelm - Package Manager for Kubernetes
Helm - Package Manager for Kubernetes
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriCI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar Demri
 
Monoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootMonoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring Boot
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gateway
 
Kubernetes and the hybrid cloud with Skupper | DevNation tech talk
Kubernetes and the hybrid cloud with Skupper | DevNation tech talkKubernetes and the hybrid cloud with Skupper | DevNation tech talk
Kubernetes and the hybrid cloud with Skupper | DevNation tech talk
 
Spring Cloud and Netflix OSS overview v1
Spring Cloud and Netflix OSS overview v1Spring Cloud and Netflix OSS overview v1
Spring Cloud and Netflix OSS overview v1
 
GPU enablement for data science on OpenShift | DevNation Tech Talk
GPU enablement for data science on OpenShift | DevNation Tech TalkGPU enablement for data science on OpenShift | DevNation Tech Talk
GPU enablement for data science on OpenShift | DevNation Tech Talk
 
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
 
Kubernetes Networking 101
Kubernetes Networking 101Kubernetes Networking 101
Kubernetes Networking 101
 
Reactive messaging Quarkus and Kafka
Reactive messaging Quarkus and KafkaReactive messaging Quarkus and Kafka
Reactive messaging Quarkus and Kafka
 
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
 
Application Portability with Kubernetes (k8)
Application Portability with Kubernetes (k8)Application Portability with Kubernetes (k8)
Application Portability with Kubernetes (k8)
 

Similaire à Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk

KFServing Payload Logging for Trusted AI
KFServing Payload Logging for Trusted AIKFServing Payload Logging for Trusted AI
KFServing Payload Logging for Trusted AIAnimesh Singh
 
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon Web Services Korea
 
CredHub and Secure Credential Management
CredHub and Secure Credential ManagementCredHub and Secure Credential Management
CredHub and Secure Credential ManagementVMware Tanzu
 
First Steps with Apache Kafka on Google Cloud Platform
First Steps with Apache Kafka on Google Cloud PlatformFirst Steps with Apache Kafka on Google Cloud Platform
First Steps with Apache Kafka on Google Cloud Platformconfluent
 
NDC London 2017 - The Data Dichotomy- Rethinking Data and Services with Streams
NDC London 2017  - The Data Dichotomy- Rethinking Data and Services with StreamsNDC London 2017  - The Data Dichotomy- Rethinking Data and Services with Streams
NDC London 2017 - The Data Dichotomy- Rethinking Data and Services with StreamsBen Stopford
 
Intro to Game Development & Operations on AWS
Intro to Game Development & Operations on AWSIntro to Game Development & Operations on AWS
Intro to Game Development & Operations on AWSAmazon Web Services
 
Real-time, real estate listings with Apache Kafka
Real-time, real estate listings with Apache KafkaReal-time, real estate listings with Apache Kafka
Real-time, real estate listings with Apache KafkaFerran Galí Reniu
 
Building a Streaming Platform with Kafka
Building a Streaming Platform with KafkaBuilding a Streaming Platform with Kafka
Building a Streaming Platform with Kafkaconfluent
 
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Kai Wähner
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)Kai Wähner
 
Apache Kafka® and Analytics in a Connected IoT World
Apache Kafka® and Analytics in a Connected IoT WorldApache Kafka® and Analytics in a Connected IoT World
Apache Kafka® and Analytics in a Connected IoT Worldconfluent
 
Using the FLaNK Stack for edge ai (flink, nifi, kafka, kudu)
Using the FLaNK Stack for edge ai (flink, nifi, kafka, kudu)Using the FLaNK Stack for edge ai (flink, nifi, kafka, kudu)
Using the FLaNK Stack for edge ai (flink, nifi, kafka, kudu)Timothy Spann
 
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...Amazon Web Services
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieVMware Tanzu
 
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...VMware Tanzu
 
Mobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und KibanaMobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und Kibanainovex GmbH
 
Scalding Big (Ad)ta
Scalding Big (Ad)taScalding Big (Ad)ta
Scalding Big (Ad)tab0ris_1
 
Putting Microservices on a Diet: with Istio!
Putting Microservices on a Diet: with Istio!Putting Microservices on a Diet: with Istio!
Putting Microservices on a Diet: with Istio!QAware GmbH
 
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014Amazon Web Services
 

Similaire à Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk (20)

KFServing Payload Logging for Trusted AI
KFServing Payload Logging for Trusted AIKFServing Payload Logging for Trusted AI
KFServing Payload Logging for Trusted AI
 
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
게임을 위한 아마존웹서비스(AWS) (김일호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
CredHub and Secure Credential Management
CredHub and Secure Credential ManagementCredHub and Secure Credential Management
CredHub and Secure Credential Management
 
First Steps with Apache Kafka on Google Cloud Platform
First Steps with Apache Kafka on Google Cloud PlatformFirst Steps with Apache Kafka on Google Cloud Platform
First Steps with Apache Kafka on Google Cloud Platform
 
NDC London 2017 - The Data Dichotomy- Rethinking Data and Services with Streams
NDC London 2017  - The Data Dichotomy- Rethinking Data and Services with StreamsNDC London 2017  - The Data Dichotomy- Rethinking Data and Services with Streams
NDC London 2017 - The Data Dichotomy- Rethinking Data and Services with Streams
 
Intro to Game Development & Operations on AWS
Intro to Game Development & Operations on AWSIntro to Game Development & Operations on AWS
Intro to Game Development & Operations on AWS
 
Real-time, real estate listings with Apache Kafka
Real-time, real estate listings with Apache KafkaReal-time, real estate listings with Apache Kafka
Real-time, real estate listings with Apache Kafka
 
Building a Streaming Platform with Kafka
Building a Streaming Platform with KafkaBuilding a Streaming Platform with Kafka
Building a Streaming Platform with Kafka
 
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
 
Gaming in the cloud
Gaming in the cloudGaming in the cloud
Gaming in the cloud
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
 
Apache Kafka® and Analytics in a Connected IoT World
Apache Kafka® and Analytics in a Connected IoT WorldApache Kafka® and Analytics in a Connected IoT World
Apache Kafka® and Analytics in a Connected IoT World
 
Using the FLaNK Stack for edge ai (flink, nifi, kafka, kudu)
Using the FLaNK Stack for edge ai (flink, nifi, kafka, kudu)Using the FLaNK Stack for edge ai (flink, nifi, kafka, kudu)
Using the FLaNK Stack for edge ai (flink, nifi, kafka, kudu)
 
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
(GAM402) Deploying a Low-Latency Multiplayer Game Globally: Loadout | AWS re:...
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
 
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
 
Mobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und KibanaMobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und Kibana
 
Scalding Big (Ad)ta
Scalding Big (Ad)taScalding Big (Ad)ta
Scalding Big (Ad)ta
 
Putting Microservices on a Diet: with Istio!
Putting Microservices on a Diet: with Istio!Putting Microservices on a Diet: with Istio!
Putting Microservices on a Diet: with Istio!
 
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
 

Plus de Red Hat Developers

DevNation Tech Talk: Getting GitOps
DevNation Tech Talk: Getting GitOpsDevNation Tech Talk: Getting GitOps
DevNation Tech Talk: Getting GitOpsRed Hat Developers
 
Exploring the power of OpenTelemetry on Kubernetes
Exploring the power of OpenTelemetry on KubernetesExploring the power of OpenTelemetry on Kubernetes
Exploring the power of OpenTelemetry on KubernetesRed Hat Developers
 
Quinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
Quinoa: A modern Quarkus UI with no hassles | DevNation tech TalkQuinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
Quinoa: A modern Quarkus UI with no hassles | DevNation tech TalkRed Hat Developers
 
Extra micrometer practices with Quarkus | DevNation Tech Talk
Extra micrometer practices with Quarkus | DevNation Tech TalkExtra micrometer practices with Quarkus | DevNation Tech Talk
Extra micrometer practices with Quarkus | DevNation Tech TalkRed Hat Developers
 
Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...
Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...
Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...Red Hat Developers
 
Integrating Loom in Quarkus | DevNation Tech Talk
Integrating Loom in Quarkus | DevNation Tech TalkIntegrating Loom in Quarkus | DevNation Tech Talk
Integrating Loom in Quarkus | DevNation Tech TalkRed Hat Developers
 
Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...
Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...
Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...Red Hat Developers
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkRed Hat Developers
 
Distributed deployment of microservices across multiple OpenShift clusters | ...
Distributed deployment of microservices across multiple OpenShift clusters | ...Distributed deployment of microservices across multiple OpenShift clusters | ...
Distributed deployment of microservices across multiple OpenShift clusters | ...Red Hat Developers
 
DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...
DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...
DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...Red Hat Developers
 
11 CLI tools every developer should know | DevNation Tech Talk
11 CLI tools every developer should know | DevNation Tech Talk11 CLI tools every developer should know | DevNation Tech Talk
11 CLI tools every developer should know | DevNation Tech TalkRed Hat Developers
 
A Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
A Microservices approach with Cassandra and Quarkus | DevNation Tech TalkA Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
A Microservices approach with Cassandra and Quarkus | DevNation Tech TalkRed Hat Developers
 
GitHub Actions and OpenShift: ​​Supercharging your software development loops...
GitHub Actions and OpenShift: ​​Supercharging your software development loops...GitHub Actions and OpenShift: ​​Supercharging your software development loops...
GitHub Actions and OpenShift: ​​Supercharging your software development loops...Red Hat Developers
 
To the moon and beyond with Java 17 APIs! | DevNation Tech Talk
To the moon and beyond with Java 17 APIs! | DevNation Tech TalkTo the moon and beyond with Java 17 APIs! | DevNation Tech Talk
To the moon and beyond with Java 17 APIs! | DevNation Tech TalkRed Hat Developers
 
Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...
Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...
Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...Red Hat Developers
 
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...Red Hat Developers
 
Kubernetes configuration and security policies with KubeLinter | DevNation Te...
Kubernetes configuration and security policies with KubeLinter | DevNation Te...Kubernetes configuration and security policies with KubeLinter | DevNation Te...
Kubernetes configuration and security policies with KubeLinter | DevNation Te...Red Hat Developers
 
Friends don't let friends do dual writes: Outbox pattern with OpenShift Strea...
Friends don't let friends do dual writes: Outbox pattern with OpenShift Strea...Friends don't let friends do dual writes: Outbox pattern with OpenShift Strea...
Friends don't let friends do dual writes: Outbox pattern with OpenShift Strea...Red Hat Developers
 
Know your app: Add metrics to Java with Micrometer | DevNation Tech Talk
Know your app: Add metrics to Java with Micrometer | DevNation Tech TalkKnow your app: Add metrics to Java with Micrometer | DevNation Tech Talk
Know your app: Add metrics to Java with Micrometer | DevNation Tech TalkRed Hat Developers
 
RESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech TalkRESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech TalkRed Hat Developers
 

Plus de Red Hat Developers (20)

DevNation Tech Talk: Getting GitOps
DevNation Tech Talk: Getting GitOpsDevNation Tech Talk: Getting GitOps
DevNation Tech Talk: Getting GitOps
 
Exploring the power of OpenTelemetry on Kubernetes
Exploring the power of OpenTelemetry on KubernetesExploring the power of OpenTelemetry on Kubernetes
Exploring the power of OpenTelemetry on Kubernetes
 
Quinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
Quinoa: A modern Quarkus UI with no hassles | DevNation tech TalkQuinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
Quinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
 
Extra micrometer practices with Quarkus | DevNation Tech Talk
Extra micrometer practices with Quarkus | DevNation Tech TalkExtra micrometer practices with Quarkus | DevNation Tech Talk
Extra micrometer practices with Quarkus | DevNation Tech Talk
 
Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...
Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...
Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...
 
Integrating Loom in Quarkus | DevNation Tech Talk
Integrating Loom in Quarkus | DevNation Tech TalkIntegrating Loom in Quarkus | DevNation Tech Talk
Integrating Loom in Quarkus | DevNation Tech Talk
 
Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...
Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...
Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech Talk
 
Distributed deployment of microservices across multiple OpenShift clusters | ...
Distributed deployment of microservices across multiple OpenShift clusters | ...Distributed deployment of microservices across multiple OpenShift clusters | ...
Distributed deployment of microservices across multiple OpenShift clusters | ...
 
DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...
DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...
DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...
 
11 CLI tools every developer should know | DevNation Tech Talk
11 CLI tools every developer should know | DevNation Tech Talk11 CLI tools every developer should know | DevNation Tech Talk
11 CLI tools every developer should know | DevNation Tech Talk
 
A Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
A Microservices approach with Cassandra and Quarkus | DevNation Tech TalkA Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
A Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
 
GitHub Actions and OpenShift: ​​Supercharging your software development loops...
GitHub Actions and OpenShift: ​​Supercharging your software development loops...GitHub Actions and OpenShift: ​​Supercharging your software development loops...
GitHub Actions and OpenShift: ​​Supercharging your software development loops...
 
To the moon and beyond with Java 17 APIs! | DevNation Tech Talk
To the moon and beyond with Java 17 APIs! | DevNation Tech TalkTo the moon and beyond with Java 17 APIs! | DevNation Tech Talk
To the moon and beyond with Java 17 APIs! | DevNation Tech Talk
 
Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...
Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...
Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...
 
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
 
Kubernetes configuration and security policies with KubeLinter | DevNation Te...
Kubernetes configuration and security policies with KubeLinter | DevNation Te...Kubernetes configuration and security policies with KubeLinter | DevNation Te...
Kubernetes configuration and security policies with KubeLinter | DevNation Te...
 
Friends don't let friends do dual writes: Outbox pattern with OpenShift Strea...
Friends don't let friends do dual writes: Outbox pattern with OpenShift Strea...Friends don't let friends do dual writes: Outbox pattern with OpenShift Strea...
Friends don't let friends do dual writes: Outbox pattern with OpenShift Strea...
 
Know your app: Add metrics to Java with Micrometer | DevNation Tech Talk
Know your app: Add metrics to Java with Micrometer | DevNation Tech TalkKnow your app: Add metrics to Java with Micrometer | DevNation Tech Talk
Know your app: Add metrics to Java with Micrometer | DevNation Tech Talk
 
RESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech TalkRESTEasy Reactive: Why should you care? | DevNation Tech Talk
RESTEasy Reactive: Why should you care? | DevNation Tech Talk
 

Dernier

Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 

Dernier (20)

Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 

Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk

  • 1. CONFIDENTIAL designator An Exploration of the Kafka Streams API Processing Game Telemetry with OpenShift Streams for Apache Kafka Evan Shortiss Technical Marketing Manager 1 @evanshortiss
  • 2. CONFIDENTIAL designator Welcome! 2 Source: Spider-Man (2018) by Insomniac Games and Sony Interactive Entertainment
  • 3. CONFIDENTIAL designator 3 Apache Kafka is a distributed system designed for streams. It is built to be an high-availability, horizontally-scalable, fault-tolerant, commit log, and allows distributed data streams and stream processing applications. Known use cases are: ▸ High-performance data pipelines ▸ Streaming analytics ▸ Data integration What is Kafka? What is Apache Kafka? Open-source distributed event streaming platform Learn more on the Apache Kafka community page: https://kafka.apache.org/
  • 4. CONFIDENTIAL designator Source: https://kafka.apache.org/ Brokers, topics, partitions, producers, and consumers! What is Kafka? 4 What is Apache Kafka? Kafka Cluster Broker A Broker B Broker C Consumer Group Topic: Clicks Topic: Purchases P1 P2 P3 P1 P2 P3 Producer Group
  • 5. CONFIDENTIAL designator Source: https://kafka.apache.org/intro What is Kafka? 5 APIs What is Apache Kafka? ▸ The Admin API to manage and inspect topics, brokers, and other Kafka objects. ▸ The Producer API to publish (write) a stream of events to one or more Kafka topics. ▸ The Consumer API to subscribe to (read) one or more topics and to process the stream of events produced to them. ▸ The Kafka Streams API to implement stream processing applications and microservices. ▸ The Kafka Connect API to build and run reusable data import/export connectors that consume (read) or produce (write) streams of events from and to external systems and applications so they can integrate with Kafka.
  • 6. CONFIDENTIAL designator Kafka & Video Game Telemtry 6 Use Cases Kafka and Video Game Telemetry ▸ Modern video games are constantly evolving post-release. ▸ Developers release patches with new features and game balance fixes. ▸ Data-driven decision making can increase the value of each iteration. ▸ Popular video games have millions of daily active users. ▸ Generate millions/billions of telemetry events and data. ▸ Kafka, Kafka Streams, and the broader ecosystem can be used for ingestion and processing data! Source: https://steamcharts.com (July 14th 2021) 600,000 Counter-Strike players firing just 20 shots could generate 12,000,000 unique events!
  • 7. CONFIDENTIAL designator Shipwars, a Battleship style game where players face-off against AI opponents. First to sink opponent ships is the winner. Bonus round provides an opportunity to boost high-scores. 7 Kafka at Red Hat Summit 2021 Red Hat Summit 2021
  • 8. CONFIDENTIAL designator Kafka at Red Hat Summit 2021 8 3 Clusters, Open Hybrid Cloud AWS, Azure, and GCP
  • 9. CONFIDENTIAL designator Scoring API Kafka at Red Hat Summit 2021 9 Game Server WebSocket Game State Players Matches Scores Binary Cloud Event Broker HTTP Cloud Events Scoring/Bonus APIs HTTP Cloud Events Binary Strimzi Kafka 3 Clusters, Open Hybrid Cloud AWS, Azure, and GCP AI Move REST API HTTP Request Next Move Bot State Machines HTTP Request Create AI Bot Player WebSocket
  • 10. CONFIDENTIAL designator Kafka at Red Hat Summit 2021 10 3 Clusters, Open Hybrid Cloud AWS, Azure, and GCP Search for Katia Aresti’s content about the leaderboard and Infinispan replication on Red Hat Developers YouTube and Blog!
  • 11. CONFIDENTIAL designator Scoring API Kafka at Red Hat Summit 2021 11 Game Server WebSocket Game State Players Matches Scores Binary Cloud Event Broker Scoring/Bonus APIs HTTP Cloud Events Binary Kafka Leaderboard Binary WebSocket 3 Clusters, Open Hybrid Cloud AWS, Azure, and GCP HTTP Cloud Events AI Move REST API HTTP Request Next Move Bot State Machines HTTP Request Create AI Bot Player WebSocket
  • 12. CONFIDENTIAL designator Human: Connected AI: Connected 12 Introduction Event Stream
  • 13. CONFIDENTIAL designator Human: Connected AI: Connected Human: [4,0] / Hit 13 Introduction Event Stream
  • 14. CONFIDENTIAL designator Human: Connected AI: Connected Human: [4,0] / Hit AI: [3,1] / Miss 14 Introduction Event Stream
  • 15. CONFIDENTIAL designator Human: Connected AI: Connected Human: [4,0] / Hit AI: [3,1] / Miss Human: [4,1] / Hit 15 Introduction Event Stream
  • 16. CONFIDENTIAL designator Human: Connected AI: Connected Human: [4,0] / Hit AI: [3,1] / Miss Human: [4,1] / Hit AI: [1,2] / Miss 16 Introduction Event Stream
  • 17. CONFIDENTIAL designator Human: Connected AI: Connected Human: [4,0] / Hit AI: [3,1] / Miss Human: [4,1] / Hit AI: [1,2] / Miss Human: [3,1] / Hit 17 Introduction Event Stream
  • 18. CONFIDENTIAL designator Human: Connected AI: Connected Human: [4,0] / Hit AI: [3,1] / Miss Human: [4,1] / Hit AI: [1,2] / Miss Human: [3,1] / Hit AI: [1,3] / Hit 18 Introduction Event Stream
  • 19. CONFIDENTIAL designator Human: Connected AI: Connected Human: [4,0] / Hit AI: [3,1] / Miss Human: [4,1] / Hit AI: [1,2] / Miss Human: [3,1] / Hit AI: [1,3] / Hit Human: [3,2] / Hit 19 Introduction Event Stream
  • 20. CONFIDENTIAL designator Human: Connected AI: Connected Human: [4,0] / Hit AI: [3,1] / Miss Human: [4,1] / Hit AI: [1,2] / Miss Human: [3,1] / Hit AI: [1,3] / Hit Human: [3,2] / Hit AI: [2,3] / Miss 20 Introduction Event Stream
  • 21. CONFIDENTIAL designator Human: Connected AI: Connected Human: [4,0] / Hit AI: [3,1] / Miss Human: [4,1] / Hit AI: [1,2] / Miss Human: [3,1] / Hit AI: [1,3] / Hit Human: [3,2] / Hit AI: [2,3] / Miss Human: [1,1] / Miss 21 Introduction Event Stream
  • 22. CONFIDENTIAL designator Product Overview 22 https://red.ht/TryKafka Development Preview trial available for free at:
  • 23. CONFIDENTIAL designator Red Hat OpenShift Streams for Apache Kafka Complete solution for stream-based applications Product Overview 23 Metrics & monitoring Configuration mgmt Hosted & managed (99.95% SLA) Kafka cluster Broker(s) Topic(s) Streamlined developer experience: a curated solution with a developer-first, consistent experience Delivered as a service, managed by Red Hat SRE - 24x7 global support and a 99.95% service-level agreement (SLA) Real-time, streaming data broker - Dedicated Apache Kafka cluster deliver as a service in the cloud and location of choice ▸ Access to Kafka brokers, topics, and partitions ▸ Configuration management ▸ Metrics and monitoring ▸ UI / CLI / API / service bindings ▸ Integrated identity & access management STREAMLINED DEVELOPER EXPERIENCE UI API CLI Service Binding https://red.ht/TryKafka
  • 24. CONFIDENTIAL designator 24 ▸ Based on the Strimzi community project that provides an optimized version of Apache Kafka on Kubernetes ▸ Access to customer dedicated Kafka instances. Each instance provides Kafka core capabilities ▸ Kafka instances are configured based on opinionated recommendations made by Red Hat experts Product Overview A dedicated managed Apache Kafka cluster An opinionated experience for your Kafka service Apache Kafka implementation optimized for OpenShift https://red.ht/TryKafka
  • 27. CONFIDENTIAL designator End the Keynote demo with a twist. Prove that we can track all events throughout the game! 27 Introduction Red Hat Summit 2021 ALL YOUR BASE EVENT ARE BELONG TO US. Source: Zero Wing by Namco (1989) and Williams Electronics (1990)
  • 28. CONFIDENTIAL designator Record player “connect” events. Each player and match is unique. Capture each “attack” by each player. Join these events together to create a complete record of each match. 28 Introduction Aggregate Match Visualisation
  • 29. CONFIDENTIAL designator Record player “connect” events and player type. Capture each “attack” by each player. Create a matrix using this data to understand where humans tend to shoot or place their ships. Subscribe the AI model to this real-time data so it continuously learns. 29 Introduction Real-time AI Adjustment https://github.com/redhat-gamedev/shipwars-move-server/blob/master/prediction.py
  • 30. CONFIDENTIAL designator Game Server Game Server Kafka Streams Topology 30 Game Server WebSocket Attacks Topic Key Value (Player,Result, Cell) GameVer:MatchA PlayerA,Hit [0,1] GameVer:MatchA PlayerB,Hit [2,3] GameVer:MatchA PlayerA,Hit [1,2] GameVer:MatchB PlayerD,Miss [4,1] Players Topic Key Value (Name, Type, Region) PlayerA Slow Bow, Human, EMEA PlayerB Iron Ocelot, AI, EMEA PlayerC Plume Boar, Human, APAC PlayerD Rose Fang, AI, APAC
  • 31. CONFIDENTIAL designator Game Server Game Server Kafka Streams Topology 31 Game Server WebSocket Attacks Topic Key Value (Player,Result, Cell) GameVer:MatchA PlayerA,Hit [0,1] GameVer:MatchA PlayerB,Hit [2,3] GameVer:MatchA PlayerA,Hit [1,2] GameVer:MatchB PlayerD,Miss [4,1] Source: Super Mario 3D World via https://mario.fandom.com Players Topic Key Value (Name, Type, Region) PlayerA Slow Bow, Human, EMEA PlayerB Iron Ocelot, AI, EMEA PlayerC Plume Boar, Human, APAC PlayerD Rose Fang, AI, APAC
  • 32. CONFIDENTIAL designator Game Server Game Server Kafka Streams Topology 32 Game Server WebSocket Attacks Topic Key Value (Player,Result, Cell) GameVer:MatchA PlayerA,Hit [0,1] GameVer:MatchA PlayerB,Hit [2,3] GameVer:MatchA PlayerA,Hit [1,2] GameVer:MatchB PlayerD,Miss [4,1] Source: Super Mario 3D World via https://mario.fandom.com Players Topic Key Value (Name, Type, Region) PlayerA Slow Bow, Human, EMEA PlayerB Iron Ocelot, AI, EMEA PlayerC Plume Boar, Human, APAC PlayerD Rose Fang, AI, APAC Kafka Streams API
  • 33. CONFIDENTIAL designator Stateless Processing Kafka Streams Topology 33 Kafka Streams Attacks Topic Key Value (Player,Result, Cell) GameVer:MatchA PlayerA,Miss [0,1] GameVer:MatchA PlayerB,Hit [2,3] GameVer:MatchA PlayerA,Hit [1,2] GameVer:MatchB PlayerD,Miss [4,1] Filter out missed shots Only Hits Topic Key Value (Player,Result, Cell) GameVer:MatchA PlayerB,Hit [2,3] GameVer:MatchA PlayerA,Hit [1,2] Kafka Streams API Filter (Stateless)
  • 34. CONFIDENTIAL designator Kafka Streams Join Game Server Game Server Kafka Streams Topology 34 Game Server WebSocket Topic: Attacks Key Value (Result, Cell) GameVer:MatchA PlayerA,Hit [0,1] GameVer:MatchA PlayerB,Hit [2,3] GameVer:MatchA PlayerC,Hit [1,2] GameVer:MatchB PlayerD,Miss [4,1] Topic: Players Key Value (Name, Type, Region) PlayerA Slow Bow, Human, EMEA PlayerB Iron Ocelot, AI, EMEA PlayerC Plume Boar, Human, APAC PlayerD Rose Fang, AI, APAC Topic: Enriched Attacks Key Value GameVer:MatchA Human,Hit [0,1] GameVer:MatchA AI,Hit [2,3] GameVer:MatchA Human,Hit [1,2] GameVer:MatchB AI,Miss [4,1] Stateful Processing Kafka Streams
  • 35. CONFIDENTIAL designator Kafka Streams Topology 35 Topic: Enriched Attacks Key Value GameVer:MatchA Human,Hit [0,1] GameVer:MatchA AI,Hit [2,3] GameVer:MatchA Human,Hit [1,2] GameVer:MatchB AI,Miss [4,1] Topic: Match Aggregates Key Value GameVer:MatchA [ { human,hit:0,1 } ] GameVer:MatchA [ { human,hit:0,1 }, { ai,hit:2,3 } ] GameVer:MatchA [ { human,hit:0,1 }, { ai,hit:2,3 }, { human,hit:1,2 } ] GameVer:MatchB [ { ai,miss:4,1 } ] Aggregation State: Match Aggregates Key Value(s) GameVer:MatchA [ { human,hit:0,1 }, { ai,hit:2,3 }, { human,hit:1,2 } ] GameVer:MatchB [ { ai,miss:4,1 } ] Kafka Streams Aggregation Commit to Topic on a fixed interval. Can restore Kafka Streams table state from Topic. Kafka Streams Join
  • 36. CONFIDENTIAL designator Game Server Game Server Kafka Streams Topology 36 Game Server WebSocket players attacks enriched-attacks match-aggregates Produce Produce GlobalKTable KStream Consume Consume Join on Player ID Produce KStream Consume Update Aggregate Record Group By Key (Game Ver. & Match ID) Produce Kafka Streams: Join Kafka Streams: Aggregation Kafka Topics Consume
  • 37. CONFIDENTIAL designator Replay Service Each Game Server instance produces shots to the Managed Kafka Cluster Kafka Streams Topology 37 Game Server WebSocket Produce Consume Records players & attacks match-aggregates Produce Match Aggregates Query RocksDB via HTTP API Render Match Replay in Web Browser OpenShift Dedicated Single Region Processing Cluster OpenShift Dedicated 3 Region Game Clusters Kafka Streams Single Region
  • 38. CONFIDENTIAL designator 1. Define Serdes. 2. Create shots KStream. 3. Create players GlobalKTable. 4. Join stream and table using composite key. 5. Return new record (String) that contains player type, shot result, and shot cell. 38 Kafka Streams Topology Kafka Streams: Join
  • 39. CONFIDENTIAL designator 1. Define Serde. 2. Enriched shots KStream. 3. Group by key. 4. Aggregate grouped records. 5. Materialise record into store. 6. Write record to aggregate topic. 39 Kafka Streams Topology Kafka Streams: Aggregate
  • 41. CONFIDENTIAL designator Horizontally Scalable Kafka Streams Topology 41 Kafka Streams Scaling
  • 43. CONFIDENTIAL designator linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat 43 Red Hat is the world’s leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you