Self Healing in Streaming Systems #UW Database Day Dec 2nd, 2016 Karthik ¡Ramasamy ¡ Twi/er @karthikz
2 What is self healing? A ¡self ¡healing ¡system ¡adapts ¡itself ¡as ¡their ¡ environmental ¡condi8ons ¡change ¡and ¡con8nue ¡to ¡produce ¡ results
3 Why? Time/cri8cal& Decisions& Value&of&Data&to&Decision/Making& Informa9on&Half%Life& In&Decision%Making& Preven8ve/& Predic8ve & Tradi8onal&“Batch”&&&&&&&&&&&&&&& Business && Intelligence & Ac8onable & Reac8ve & Historical & Real%& Seconds& Minutes& Hours& Days& Months& [1] ¡Courtesy ¡Michael ¡Franklin, ¡BIRTE, ¡2015. ¡ Time& Time&
4 Why? loss of revenue sla violations quality of life increased productivity Ü � G s Impact of not honoring Impact of downtime Engineers & SRE burnt With reduced incidents, an SLA leading to popular event such as out attending to engineers can focus on penalty payments Super Bowl incidents actual development Oscars, etc
5 Real-Time Budget > 1 hour < 500 ms < 1 ms 10 ms - 1 sec latency sensitive low latency high throughput approximate BATCH Near Real REAL TIME OLTP Time deterministic adhoc monthly active users ad impressions count fanout Tweets Financial workflows queries relevance for ads hash tag trends search for Tweets Trading
6 Streaming Variants STREAM WORKFLOWS Con8nuous ¡ process ¡ of ¡ events ¡ for ¡a ¡determinis8c ¡workflow C H H Analyze ¡and ¡act ¡on ¡data ¡ Con8nuously ¡analyze ¡data ¡ with ¡con8nuous ¡queries ¡ using ¡mathema8cal ¡& ¡ sta8s8cal ¡techinques STREAM STREAM ANALYTICS PROCESSING
7 Heron Topology % % Bolt 1 Spout 1 Bolt 4 % Bolt 2 % Spout 2 Bolt 5 % Bolt 3
8 Heron Topology - Physical Execution % % % % % % Bolt 1 Spout 1 Bolt 4 % % % Bolt 2 % % % Spout 2 Bolt 5 % % % Bolt 3
9 Heron Topology 1 Scheduler Topology 2 Topology Submission Topology N
10 Heron Topology Components Logical Plan, Physical Plan and Topology Execution State Master ZK Cluster Sync Physical Plan MASTER CONTAINER Metrics Stream Stream Metrics Manager Manager Manager Manager I 2 I 3 I 4 I 1 I 1 I 2 I 3 I 4 DATA CONTAINER DATA CONTAINER
11 Heron @Twitter > ¡500 ¡Real ¡ Time ¡Jobs 500 ¡Billions ¡Events/Day ¡ PROCESSED 25-‑200 ¡ MS ¡ latency
12 Common Operational Issues . / - 01 02 03 Slow Hosts Network Issues Data Skew
13 Slow Hosts g Memory Parity Errors G Impeding Disk Failures � Lower GHZ
14 Heron Backpressure % % % B4 S1 B2 B3
15 Stream Manager B2 S1 S1 B2 Stream Stream Manager Manager B3 B4 B3 B4 S1 B2 S1 B2 Stream Stream Manager Manager B3 B4 B3
16 Spout Backpressure B2 S1 S1 S1 S1 B2 Stream Stream Manager Manager B3 B4 B3 B4 B2 S1 S1 B2 S1 S1 Stream Stream Manager Manager B3 B4 B3 Can ¡we ¡do ¡beWer?
17 Network g Network Slowness G Network Partitioning
18 Network Slowness I Delays processing Data is Timeliness of accumulating results is a ff ected
19 Network Slowness Can ¡we ¡do ¡beWer?
20 Network Partitioning Topology Topology Stream Scheduler Manager Master Master Stream Stream Stream Scheduler Manager Manager Manager
21 Network Partitioning Topology Scheduler Master g New Master Container G Acquiring Mastership in ZooKeeper fails � Master Container Dies
22 Network Partitioning Topology Stream Manager Master TMaster thinks g data container failed Waits for the scheduler G to reschedule new data container � Never happens
23 Network Partitioning Stream Stream Manager Manager g Cannot exchange data G Data accumulates � Chaos ensues! Can ¡we ¡do ¡beWer?
24 Network Partitioning Stream Scheduler Manager New data container g spawned TMaster realizes two G data containers report as the same Does not accept � the new one and eventually it dies
25 Data Skew Single Key Single ¡ key ¡ maps ¡ into ¡ a ¡ instance ¡and ¡its ¡count ¡is ¡high C H Several ¡keys ¡map ¡into ¡ single ¡instance ¡and ¡their ¡ count ¡is ¡high Multiple Keys
26 Data Skew - Multiple Keys % % % % % % % % Bolt 1 Spout 1 Bolt 4 % % % Bolt 2 % % % Spout 2 Bolt 5 % % % Bolt 3
27 Data Skew - Single Key % % % % % % % % % Bolt 1 Spout 1 Bolt 4 % % % Bolt 2 % % % Spout 2 Bolt 5 % % % What ¡happens ¡if ¡the ¡skew ¡is ¡temporary? Bolt 3
28 Rack Failures Single Rack Outage ¡of ¡a ¡single ¡rack C H Outage ¡of ¡several ¡racks ¡ simultaneously Multiple Rack
29 Rack Local vs Rack Diversity Rack Local Rack Diversity Advantage ¡of ¡reduced ¡network ¡ Higher ¡network ¡latency ¡and ¡shared ¡ latency ¡and ¡high ¡p2p ¡bandwidth bandwidth
30 Single Rack Failure Rack Local Rack failure { If ¡job ¡is ¡rack ¡local ¡en8re ¡job ¡is ¡down ¡and ¡needs ¡ to ¡be ¡rescheduled � Impact on real timeliness Depends ¡on ¡the ¡applica8on
31 Single Rack Failure Rack failure { Rack Diversity If ¡job ¡is ¡rack ¡diverse ¡impact ¡is ¡minimal � Impact on real timeliness Is ¡affected ¡less ¡-‑ ¡depending ¡on ¡how ¡many ¡ containers ¡are ¡running
32 Conclusion � Self ¡healing ¡is ¡important ¡in ¡Streaming ¡systems � Key ¡opera8onal ¡issues ¡-‑ ¡Slow ¡hosts, ¡network ¡and ¡data ¡skew G These ¡requirements ¡make ¡the ¡streaming ¡systems ¡more ¡complex
33 Interested in Heron? HERON IS OPEN SOURCED CONTRIBUTIONS ARE WELCOME! https://github.com/twitter/heron http://heronstreaming.io FOLLOW US @HERONSTREAMING
34 Any Questions ??? WHAT WHY WHERE WHEN WHO HOW
35 Thanks For Listening @karthikz
36 Detections and Resolutions Proac8ve Affects ¡real-‑8me ¡ ¡ Keeps ¡up ¡with ¡real-‑8me (depends ¡on ¡applica8on ¡tolerance) ¡ DetecDons Reac8ve Full ¡manual ¡interven8on N/A Lazy Instant ResoluDons
Recommend
More recommend