flink forward sf 2017: konstantin knauf & maximilian bode - queryable state or how to build a...
TRANSCRIPT
© TNG Technology Consulting 2011 - 2017
Queryable State
How to Build a Billing System Without a Database
,
Maximilian Bode Konstantin Knauf
© TNG Technology Consulting 2011 - 2017
Software Engineers with TNG Technology ConsultingFocus on
Distributed SystemsReal-Time Processing
Flink in Production for 1.5 y
© TNG Technology Consulting 2011 - 2017
Agenda1. Intro to Queryable State2. Use Case: A Queryable Billing System3. Live Demo of Our Prototype
© TNG Technology Consulting 2011 - 2017
λ
Stream Processor
Data
Correct Results
Previews
Query Service
Speed Layer
Cache
Batch Processor KV Store
Serving Layer
Batch Layer
© TNG Technology Consulting 2011 - 2017
QueryableStateClient
KvStateLocationLookupService
LeaderRetrievalService
JobManagerLeaderElectionService
KvStateClient
TaskManager
KvStateServer
KvStateRegistry
KvStateLocationRegistry
KvStateRegistryListener
Flink Cluster Client
© TNG Technology Consulting 2011 - 2017
Events from KafkaFinal InvoicesTimeWindow withFoldFunctionBucketingSink
PreviewsTimeWindow withFoldFunctionCountTrigger.of(1)Queryable State inWindowFunction
© TNG Technology Consulting 2011 - 2017
RequirementsInvoicesLive UpdatesCorrectnessAvailability(Scalability)Robustness
Late EventsTaskManagerJobManagerSink
© TNG Technology Consulting 2011 - 2017
Requirement DemoRequirement DemoInvoices
Live Updates
Correctness ()
Availability
Robustness Late Events
TaskManager
JobManager
Sink
© TNG Technology Consulting 2011 - 2017
Requirement DemoRequirement DemoInvoices
Live Updates
Correctness ()
Availability
Robustness Late Events
TaskManager
JobManager
Sink
© TNG Technology Consulting 2011 - 2017
Requirement DemoRequirement DemoInvoices
Live Updates
Correctness ()
Availability ()
Robustness Late Events
TaskManager
JobManager
Sink
© TNG Technology Consulting 2011 - 2017
Requirement Demo
Requirement DemoInvoices
Live Updates
Correctness ()
Availability ()
Robustness Late Events
TaskManager
JobManager
Sink
© TNG Technology Consulting 2011 - 2017
Requirement Demo
Requirement DemoInvoices
Live Updates
Correctness
Availability (())
Robustness Late Events
TaskManager
JobManager
Sink
© TNG Technology Consulting 2011 - 2017
Current LimitationsNative Support for Queryable State in WindowsImprovements of Client APIState SizeAvailability in Case of Job Failures
© TNG Technology Consulting 2011 - 2017
Questions?
[email protected] [email protected]
lnked.in/maxbode @snntrable