Suche senden
Hochladen
Expose your kafka with graphql
•
1 gefällt mir
•
400 views
G
Gerard Klijs
Folgen
Slides are presented at GraphQL Summit 2019
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 41
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Piwik Presentation
Piwik Presentation
Matthieu Aubry
High Volume Streaming Data: How Amazon Web Services is Changing Our Approach
High Volume Streaming Data: How Amazon Web Services is Changing Our Approach
Michael Krouze
Workflow Manager Troubleshooting and Experience
Workflow Manager Troubleshooting and Experience
Malin De Silva
QuickBooks Web Connector Issue
QuickBooks Web Connector Issue
Ask For Accounting
HTML5 Development
HTML5 Development
Rami Sarieddine
Quick prototyping with VulcanJS
Quick prototyping with VulcanJS
Melek Hakim
CC101 Overview of Capture Tools_FinalDraft
CC101 Overview of Capture Tools_FinalDraft
Zack Domangue
Mvc 4
Mvc 4
ipower softwares
Weitere ähnliche Inhalte
Was ist angesagt?
Helen Duriez #crossref15
Helen Duriez #crossref15
Crossref
BrikL - A GraphQL Native - GraphQL Asia 2019
BrikL - A GraphQL Native - GraphQL Asia 2019
Tobias Meixner
Cenit IO - API Economy
Cenit IO - API Economy
Miguel Sancho
Leveraging APIs from SharePoint Framework solutions
Leveraging APIs from SharePoint Framework solutions
Dragan Panjkov
Online Ad posting process with daily and hourly income
Online Ad posting process with daily and hourly income
LifeTime BPO Solutions
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Conference
GCF Application server
GCF Application server
Aneesh Muralidharan
Dynamic layout and transitions with expression blend 4 (30 Abr 2010)
Dynamic layout and transitions with expression blend 4 (30 Abr 2010)
Ricardo Castelhano
7 17 event_logging_architecture 1
7 17 event_logging_architecture 1
ss_testing
Modelling event data in look ml
Modelling event data in look ml
yalisassoon
19th February 2013, AWS User Group UK, Meetup #3, The CentraStage Experience,...
19th February 2013, AWS User Group UK, Meetup #3, The CentraStage Experience,...
AWS User Group UK
GraphQL in Kiwi.com
GraphQL in Kiwi.com
Michal Sänger
Responsive Ui with Realtime Database
Responsive Ui with Realtime Database
OutSystems
Was ist angesagt?
(13)
Helen Duriez #crossref15
Helen Duriez #crossref15
BrikL - A GraphQL Native - GraphQL Asia 2019
BrikL - A GraphQL Native - GraphQL Asia 2019
Cenit IO - API Economy
Cenit IO - API Economy
Leveraging APIs from SharePoint Framework solutions
Leveraging APIs from SharePoint Framework solutions
Online Ad posting process with daily and hourly income
Online Ad posting process with daily and hourly income
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
Shift Remote: WEB - GraphQL and React – Quick Start - Dubravko Bogovic (Infobip)
GCF Application server
GCF Application server
Dynamic layout and transitions with expression blend 4 (30 Abr 2010)
Dynamic layout and transitions with expression blend 4 (30 Abr 2010)
7 17 event_logging_architecture 1
7 17 event_logging_architecture 1
Modelling event data in look ml
Modelling event data in look ml
19th February 2013, AWS User Group UK, Meetup #3, The CentraStage Experience,...
19th February 2013, AWS User Group UK, Meetup #3, The CentraStage Experience,...
GraphQL in Kiwi.com
GraphQL in Kiwi.com
Responsive Ui with Realtime Database
Responsive Ui with Realtime Database
Ähnlich wie Expose your kafka with graphql
StackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStack
Chiradeep Vittal
APAC ksqlDB Workshop
APAC ksqlDB Workshop
confluent
JCConf 2016 - Google Dataflow 小試
JCConf 2016 - Google Dataflow 小試
Simon Su
Workshop: Building Vaadin add-ons
Workshop: Building Vaadin add-ons
Sami Ekblad
Getting started-with-qlikview-part-i
Getting started-with-qlikview-part-i
Amit Sharma
Wikihow webbflow | HYDRA
Wikihow webbflow | HYDRA
AhmedMWahba2
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
Fwdays
Google Cloud Dataflow
Google Cloud Dataflow
Alex Van Boxel
Composable and streamable Play apps
Composable and streamable Play apps
Yevgeniy Brikman
Bringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
C4Media
Qlikview training course contents, Qlikview training in bangalore, qlikview t...
Qlikview training course contents, Qlikview training in bangalore, qlikview t...
Manoj Jagtap
ConnectWise Reporting Tools Overview
ConnectWise Reporting Tools Overview
New Haven Technologies, LLC.
Kafka summit apac session
Kafka summit apac session
Christina Lin
Dynatrace: DevOps, shift-left & self-healing a performance clinic with andi
Dynatrace: DevOps, shift-left & self-healing a performance clinic with andi
Dynatrace
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
Icinga
Realtime with websockets
Realtime with websockets
ColdFusionConference
Making External Web Pages Interact With Visualforce
Making External Web Pages Interact With Visualforce
Salesforce Developers
Building Autonomous Operations for Kubernetes with keptn
Building Autonomous Operations for Kubernetes with keptn
Johannes Bräuer
VMWorld 2017 Hackathon training: Getting Started with Clarity
VMWorld 2017 Hackathon training: Getting Started with Clarity
Jeeyun Lim
Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)
Chris Richardson
Ähnlich wie Expose your kafka with graphql
(20)
StackWatch: A prototype CloudWatch service for CloudStack
StackWatch: A prototype CloudWatch service for CloudStack
APAC ksqlDB Workshop
APAC ksqlDB Workshop
JCConf 2016 - Google Dataflow 小試
JCConf 2016 - Google Dataflow 小試
Workshop: Building Vaadin add-ons
Workshop: Building Vaadin add-ons
Getting started-with-qlikview-part-i
Getting started-with-qlikview-part-i
Wikihow webbflow | HYDRA
Wikihow webbflow | HYDRA
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
Google Cloud Dataflow
Google Cloud Dataflow
Composable and streamable Play apps
Composable and streamable Play apps
Bringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
Qlikview training course contents, Qlikview training in bangalore, qlikview t...
Qlikview training course contents, Qlikview training in bangalore, qlikview t...
ConnectWise Reporting Tools Overview
ConnectWise Reporting Tools Overview
Kafka summit apac session
Kafka summit apac session
Dynatrace: DevOps, shift-left & self-healing a performance clinic with andi
Dynatrace: DevOps, shift-left & self-healing a performance clinic with andi
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
DevOps monitoring: Best Practices using OpenShift combined with Icinga & Big ...
Realtime with websockets
Realtime with websockets
Making External Web Pages Interact With Visualforce
Making External Web Pages Interact With Visualforce
Building Autonomous Operations for Kubernetes with keptn
Building Autonomous Operations for Kubernetes with keptn
VMWorld 2017 Hackathon training: Getting Started with Clarity
VMWorld 2017 Hackathon training: Getting Started with Clarity
Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)
Kürzlich hochgeladen
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
Vish Abrams
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
elliciumsolutionspun
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
Nirav Modi
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
VICTOR MAESTRE RAMIREZ
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
Salesforce Developer Group, Bauchi.
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
Neo4j
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
kinjal48
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
Sharon Liu
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
VICTOR MAESTRE RAMIREZ
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Jaydeep Chhasatia
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
AmeliaSmith90
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
Shyamsundar Das
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
SoftwareMill
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
Tobias Schneck
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
Shane Coughlan
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
Raymond Okyere-Forson
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
robinwilliams8624
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
Ivo Andreev
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
OnePlan Solutions
online pdf editor software solutions.pdf
online pdf editor software solutions.pdf
Meon Technology
Kürzlich hochgeladen
(20)
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
online pdf editor software solutions.pdf
online pdf editor software solutions.pdf
Expose your kafka with graphql
1.
www.openweb.nl Expose your Kafka
with GraphQL How to build a frontend on an event based backend
2.
www.openweb.nl Gerard Klijs 3 years some
months 7+ years 4 years ago 1.5 years ago 3.5 years ago
3.
www.openweb.nl Overview ▰ Short introduction
Kafka ▰ Demo project setup ▰ GraphQL interactions ▰ Demo ▰ Production ready?
4.
www.openweb.nl Kafka
5.
www.openweb.nl Kafka
6.
www.openweb.nl Kafka ?
7.
www.openweb.nl Kafka
8.
www.openweb.nl Micro services
9.
www.openweb.nl Demo project: overview
10.
www.openweb.nl Demo project: topics "commands" "account_creation_feedback" "money_transfer_feedback" "balance_changed" [24
3 [:ConfirmAccountCreation :ConfirmMoneyTransfer] {:retention.ms -1}] [24 3 [:AccountCreationConfirmed :AccountCreationFailed] {:retention.ms -1}] [24 3 [:MoneyTransferConfirmed :MoneyTransferFailed] {:retention.ms -1}] [24 3 [:BalanceChanged] {:retention.ms -1}]
11.
www.openweb.nl Lacinia
12.
www.openweb.nl Lacinia
13.
www.openweb.nl Query: extract data
from derived state
14.
www.openweb.nl Query: extract data
from derived state query { transactions_by_iban ( iban: “NL66OPEN0000000000” max_items: 2) { id changed_by } }
15.
www.openweb.nl Query: extract data
from derived state query { transactions_by_iban ( iban: “NL66OPEN0000000000” max_items: 2) { id changed_by } } { “data”: { “transactions_by_iban”: [ { “id”: 27, “changed_by” : “€12,34”}, { “id”: 24, “changed_by” : “€20,00”} ] } }
16.
www.openweb.nl Transaction service: component
overview
17.
www.openweb.nl Subscription: filter stream
of events
18.
www.openweb.nl Subscription: filter stream
of events subscription { stream_transactions( iban: “NL66OPEN0000000000”) { id changed_by descr } }
19.
www.openweb.nl Subscription: filter stream
of events subscription { stream_transactions( iban: “NL66OPEN0000000000”) { id changed_by descr } } { “stream_transactions”: { “id”: 33, “changed_by”: “€74,59”, “descr”: “after query” } }
20.
www.openweb.nl Subscription: command, return
reaction(s)
21.
www.openweb.nl Subscription: command, return
reaction(s) subscription { get_account( username: “gklijs”, password: “test1234”) { iban token } }
22.
www.openweb.nl Subscription: command, return
reaction(s) subscription { get_account( username: “gklijs”, password: “test1234”) { iban token } } { “get_account”: { “iban”: ”NL48OPEN0098543109”, “token”: “73737539836501732697” } }
23.
www.openweb.nl Account creation: component
overview
24.
www.openweb.nl Account creation: process
sequence diagram
25.
www.openweb.nl Account creation: process
sequence diagram
26.
www.openweb.nl Account creation: process
sequence diagram
27.
www.openweb.nl Account creation: process
sequence diagram
28.
www.openweb.nl Account creation: process
sequence diagram
29.
www.openweb.nl Account creation: process
sequence diagram
30.
www.openweb.nl Account creation: process
sequence diagram
31.
www.openweb.nl Account creation: process
sequence diagram
32.
www.openweb.nl Money transfer: component
overview
33.
www.openweb.nl Demo graphql.gklijs.tech Front-end served by
Netlify, backend dockers on vm in Frankfurt
34.
www.openweb.nl Running tests: goals ▰
Production like ▰ Keep increasing load ▰ Run for a long time ▰ Find the limits and bottlenecks
35.
www.openweb.nl Running tests: average
end to end Latency
36.
www.openweb.nl Running tests: throughput,
transactions/sec
37.
www.openweb.nl Running tests: cpu
GraphQL endpoint
38.
www.openweb.nl Scaling kafka applications
39.
www.openweb.nl Scaling kafka applications ?
40.
www.openweb.nl What we learned ▰
Three ways to build GraphQL into event sourcing ▰ Demo shows it’s viable, 300 new subscriptions/sec ▰ Demo has limited limited authentication and authorization ▰ Scalability solvable but tricky
41.
www.openweb.nl Questions? @GKlijs gklijs https://github.com/openweb-nl/kafka-graphql-examples dev.to/gklijs/the-human-side-of-open-bank-mark-3o4b www.slideshare.net/GerardKlijs https://www.therepl.net/
Jetzt herunterladen