SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Untangling Cluster Management with Helix

Helix team @ LinkedIn
Kishore Gopalakrishna
http://www.linkedin.com/in/kgopalak
@kishoreg1980
     Recruiting Solutions                  1
Outline


 What is Helix
 Use case 1: distributed data store
 Architecture
 Use case 2: consumer group
 Helix at LinkedIn
 Q&A


                                       2
What is Helix




  Cluster management framework for distributed systems
  using declarative state model




                                                         3
Distributed system examples




                              4
Motivation

 A system starts out simple…
 …but gets complex in the real world
 …as you address real requirements

                          Application

                           client library
  Scale
  Failover
  Bootstrapping
                           Call Routing
                             System


          Replica 1                         …

          Replica 2                         …
                                                5
Motivation
 Scale
 Failover
 Bootstrapping



 These are cluster management problems
 Helix solves them once…
 …so you can focus on your system




                                          6
Outline


 What is Helix
 Use case 1: distributed data store
 Architecture
 Use case 2: consumer group
 Helix at LinkedIn
 Q&A


                                       7
Use-Case: Distributed Data Store

 Distributed




                          P.1




      Node 1            Node 2     Node 3


                                            8
Use-Case: Distributed Data Store

 Distributed
 Partitioned




  P.1    P.2     P.3   P.5     P.6    P.7   P.9    P.1     P.11
                                                   0
  P.4                  P.8                  P.1
                                            2



        Node 1               Node 2               Node 3


                                                                  9
Use-Case: Distributed Data Store

 Distributed
 Partitioned
 Replicated




  P.1    P.2     P.3   P.5      P.6    P.7   P.9    P.1     P.11
                                                    0
  P.4    P.5     P.6   P.8      P.1    P.2   P.1    P.3     P.4
                                             2
  P.9    P.1           P.11     P.1          P.7    P.8
         0                      2

        Node 1                Node 2               Node 3


                                                                   10
Partition Layout

 Highly Available
 Master accepts writes
 Balanced distribution
                                                            Master
                                                            Slave




  P.1    P.2     P.3   P.5      P.6    P.7   P.9    P.1       P.11
                                                    0
  P.4    P.5     P.6   P.8      P.1    P.2   P.1    P.3       P.4
                                             2
  P.9    P.1           P.11     P.1          P.7    P.8
         0                      2

        Node 1                Node 2               Node 3


                                                                     11
Failover




                                                            Master
                                                            Slave




  P.1    P.2     P.3   P.5      P.6    P.7   P.9    P.1       P.11
                                                    0
  P.4    P.5     P.6   P.8      P.1    P.2   P.1    P.3       P.4
                                             2
  P.9    P.1           P.11     P.1          P.7    P.8
         0                      2

        Node 1                Node 2               Node 3
Add Capacity


  P.1    P.5     P.9


  P.1    P.1     P.8
  0      2
                                                            Master
        Node 4                                              Slave




  P.1    P.2     P.3   P.5      P.6    P.7   P.9    P.1       P.11
                                                    0
  P.4    P.5     P.6   P.8      P.1    P.2   P.1    P.3       P.4
                                             2
  P.9    P.1           P.11     P.1          P.7    P.8
         0                      2

        Node 1                Node 2               Node 3
Use-case requirements

  • Partition constraints
     • 1 master per partition
     • Balance partitions across cluster
     • No single-point-of-failure: replicas on different nodes
  • Handle failures: transfer mastership
  • Elasticity
     • Distribute workload across added nodes
      Minimize partition movement
  • Meet SLAs
      Throttle concurrent data movement




                                                                 14
Declarative Problem Statement


 State machine                                 Constraints
   – States                                               – States
        offline, slave, master                           – Transitions
   – Transitions                                Objective
        O-S, S-O, S-M, M-S
                                                          – Partition placement


                                         COUNT=2        minimize(maxnj∈N S(nj) )
                           t1≤ 5
                                           S
                               t1                          t2

                                    t3             t4
                         O                                      M   COUNT=1        minimize(maxnj∈N M(nj) )




                                                                                                          15
Generalizing cluster management



                   STATE MACHINE




          CONSTRAINTS              OBJECTIVE

                                               16
Outline


 What is Helix
 Use case 1: distributed data store
 Architecture
 Use case 2: consumer group
 Helix at LinkedIn
 Q&A


                                       17
Helix Based System Roles




                        RESPONSE      COMMAND




   P.1     P.2    P.3          P.5     P.6    P.7   P.9     P.1    P.1
                                                            0      1

   P.4     P.5    P.6          P.8     P.1    P.2   P.1     P.3    P.4
                                       P.1
                                                    2

   P.9     P.1                 P.1     P.1          P.7     P.8
           0                   1       2


         Node 1                      Node 2               Node 3

                                                                         18
Controller Execution Flow




                             P1:OS
                            P1:SM
Controller fault tolerance




                             20
Controller fault tolerance




                             21
Participant Plug-in code




                           22
Spectator Plug-in code




                         23
Benefits

 Cluster operations “just work”
   – Bootstrapping
   – Failover
   – Add nodes
 Global vs Local
   – Helix Controller
        Global knowledge
        Makes cluster decisions
   – Participant
        Local knowledge
        Follows orders




                                   24
Outline


 What is Helix
 Use case 1: distributed data store
 Architecture
 Use case 2: consumer group
 Helix at LinkedIn
 Q&A


                                       25
consumer group




                 26
Consumer group: Scaling




                          27
Consumer group: Fault tolerance




                                  28
Consumer group: state model




                              29
Outline


 What is Helix
 Use case 1: distributed data store
 Architecture
 Use case 2: consumer group
 Helix at LinkedIn
 Q&A


                                       30
Helix usage at LinkedIn (Pictures)

 Espresso
   – a timeline-consistent, distributed data store
 Databus
   – a change data capture service
 Search as a Service
   – a multi-tenant service for multiple search applications
 More planned




                                                               31
Summary

 Generic framework
 Easy to use: declarative model
 Easy to operate




                                   32
Helix: Future Roadmap


•    Features
      • Span multiple data centers
      • Load balancing


•    Announcement
      • Open source: https://github.com/linkedin/helix
      • Apache incubation
      • New contributors
Questions?




             34

Contenu connexe

Tendances

Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeFlink Forward
 
Bootstrapping state in Apache Flink
Bootstrapping state in Apache FlinkBootstrapping state in Apache Flink
Bootstrapping state in Apache FlinkDataWorks Summit
 
NATS Streaming - an alternative to Apache Kafka?
NATS Streaming - an alternative to Apache Kafka?NATS Streaming - an alternative to Apache Kafka?
NATS Streaming - an alternative to Apache Kafka?Anton Zadorozhniy
 
Spark shuffle introduction
Spark shuffle introductionSpark shuffle introduction
Spark shuffle introductioncolorant
 
OLTP+OLAP=HTAP
 OLTP+OLAP=HTAP OLTP+OLAP=HTAP
OLTP+OLAP=HTAPEDB
 
Magnet Shuffle Service: Push-based Shuffle at LinkedIn
Magnet Shuffle Service: Push-based Shuffle at LinkedInMagnet Shuffle Service: Push-based Shuffle at LinkedIn
Magnet Shuffle Service: Push-based Shuffle at LinkedInDatabricks
 
Apache Pulsar Development 101 with Python
Apache Pulsar Development 101 with PythonApache Pulsar Development 101 with Python
Apache Pulsar Development 101 with PythonTimothy Spann
 
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuVirtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuFlink Forward
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Flink Forward
 
Deep Dive into Apache Kafka
Deep Dive into Apache KafkaDeep Dive into Apache Kafka
Deep Dive into Apache Kafkaconfluent
 
Apache Spark on K8S Best Practice and Performance in the Cloud
Apache Spark on K8S Best Practice and Performance in the CloudApache Spark on K8S Best Practice and Performance in the Cloud
Apache Spark on K8S Best Practice and Performance in the CloudDatabricks
 
Consumer offset management in Kafka
Consumer offset management in KafkaConsumer offset management in Kafka
Consumer offset management in KafkaJoel Koshy
 
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...confluent
 
Using Queryable State for Fun and Profit
Using Queryable State for Fun and ProfitUsing Queryable State for Fun and Profit
Using Queryable State for Fun and ProfitFlink Forward
 
Distributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DB
Distributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DBDistributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DB
Distributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DBYugabyteDB
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraFlink Forward
 
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
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 WiesmanVerverica
 

Tendances (20)

Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive Mode
 
Bootstrapping state in Apache Flink
Bootstrapping state in Apache FlinkBootstrapping state in Apache Flink
Bootstrapping state in Apache Flink
 
NATS Streaming - an alternative to Apache Kafka?
NATS Streaming - an alternative to Apache Kafka?NATS Streaming - an alternative to Apache Kafka?
NATS Streaming - an alternative to Apache Kafka?
 
Spark shuffle introduction
Spark shuffle introductionSpark shuffle introduction
Spark shuffle introduction
 
OLTP+OLAP=HTAP
 OLTP+OLAP=HTAP OLTP+OLAP=HTAP
OLTP+OLAP=HTAP
 
Magnet Shuffle Service: Push-based Shuffle at LinkedIn
Magnet Shuffle Service: Push-based Shuffle at LinkedInMagnet Shuffle Service: Push-based Shuffle at LinkedIn
Magnet Shuffle Service: Push-based Shuffle at LinkedIn
 
Apache Pulsar Development 101 with Python
Apache Pulsar Development 101 with PythonApache Pulsar Development 101 with Python
Apache Pulsar Development 101 with Python
 
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark WuVirtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
Virtual Flink Forward 2020: A deep dive into Flink SQL - Jark Wu
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
 
Deep Dive into Apache Kafka
Deep Dive into Apache KafkaDeep Dive into Apache Kafka
Deep Dive into Apache Kafka
 
Apache Spark on K8S Best Practice and Performance in the Cloud
Apache Spark on K8S Best Practice and Performance in the CloudApache Spark on K8S Best Practice and Performance in the Cloud
Apache Spark on K8S Best Practice and Performance in the Cloud
 
Node Labels in YARN
Node Labels in YARNNode Labels in YARN
Node Labels in YARN
 
Consumer offset management in Kafka
Consumer offset management in KafkaConsumer offset management in Kafka
Consumer offset management in Kafka
 
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
Why My Streaming Job is Slow - Profiling and Optimizing Kafka Streams Apps (L...
 
Using Queryable State for Fun and Profit
Using Queryable State for Fun and ProfitUsing Queryable State for Fun and Profit
Using Queryable State for Fun and Profit
 
Apache Kafka Best Practices
Apache Kafka Best PracticesApache Kafka Best Practices
Apache Kafka Best Practices
 
Spark streaming: Best Practices
Spark streaming: Best PracticesSpark streaming: Best Practices
Spark streaming: Best Practices
 
Distributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DB
Distributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DBDistributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DB
Distributed Databases Deconstructed: CockroachDB, TiDB and YugaByte DB
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
 
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
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
 

En vedette

Literatura. La Il·lustració
Literatura. La Il·lustracióLiteratura. La Il·lustració
Literatura. La Il·lustraciómsimo6
 
2015 Utah Legislative Session, What Happened and What's Next
2015 Utah Legislative Session, What Happened and What's Next2015 Utah Legislative Session, What Happened and What's Next
2015 Utah Legislative Session, What Happened and What's NextParsons Behle & Latimer
 
Trabajo grupo tecnologia
Trabajo grupo tecnologiaTrabajo grupo tecnologia
Trabajo grupo tecnologiayanrivas1
 
Praktikum8 komdat_using FTP
Praktikum8 komdat_using FTPPraktikum8 komdat_using FTP
Praktikum8 komdat_using FTPJefri Fahrian
 
Prakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OS
Prakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OSPrakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OS
Prakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OSJefri Fahrian
 
Tugas e learning2 jarkom3 - Dynamic Routing (RIP)
Tugas e learning2 jarkom3 - Dynamic Routing (RIP)Tugas e learning2 jarkom3 - Dynamic Routing (RIP)
Tugas e learning2 jarkom3 - Dynamic Routing (RIP)Jefri Fahrian
 
Customer Choice and Direct Delivery: Competitive Options for Commercial Custo...
Customer Choice and Direct Delivery: Competitive Options for Commercial Custo...Customer Choice and Direct Delivery: Competitive Options for Commercial Custo...
Customer Choice and Direct Delivery: Competitive Options for Commercial Custo...Parsons Behle & Latimer
 
Mgea 3-edicion-web1
Mgea 3-edicion-web1Mgea 3-edicion-web1
Mgea 3-edicion-web1Eduardo Rom
 
Institute of Fisheries Management (London Branch) event
Institute of Fisheries Management (London Branch) eventInstitute of Fisheries Management (London Branch) event
Institute of Fisheries Management (London Branch) eventLancaster University
 
Law of attraction new
Law of attraction newLaw of attraction new
Law of attraction newNeel Bajpai
 
Praktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access pointPraktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access pointJefri Fahrian
 
Praktikum jaringan komputer 3 http server eksperimen
Praktikum jaringan komputer 3 http server eksperimenPraktikum jaringan komputer 3 http server eksperimen
Praktikum jaringan komputer 3 http server eksperimenJefri Fahrian
 

En vedette (20)

Literatura. La Il·lustració
Literatura. La Il·lustracióLiteratura. La Il·lustració
Literatura. La Il·lustració
 
It's And, Not Or
It's And, Not OrIt's And, Not Or
It's And, Not Or
 
Parent overview
Parent overviewParent overview
Parent overview
 
2015 Utah Legislative Session, What Happened and What's Next
2015 Utah Legislative Session, What Happened and What's Next2015 Utah Legislative Session, What Happened and What's Next
2015 Utah Legislative Session, What Happened and What's Next
 
Trabajo grupo tecnologia
Trabajo grupo tecnologiaTrabajo grupo tecnologia
Trabajo grupo tecnologia
 
Praktikum8 komdat_using FTP
Praktikum8 komdat_using FTPPraktikum8 komdat_using FTP
Praktikum8 komdat_using FTP
 
Prakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OS
Prakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OSPrakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OS
Prakt.jarkom1 jefri tugas ke 1 - INSTALASI MIKROTIK OS
 
Tugas e learning2 jarkom3 - Dynamic Routing (RIP)
Tugas e learning2 jarkom3 - Dynamic Routing (RIP)Tugas e learning2 jarkom3 - Dynamic Routing (RIP)
Tugas e learning2 jarkom3 - Dynamic Routing (RIP)
 
Sintra
SintraSintra
Sintra
 
Customer Choice and Direct Delivery: Competitive Options for Commercial Custo...
Customer Choice and Direct Delivery: Competitive Options for Commercial Custo...Customer Choice and Direct Delivery: Competitive Options for Commercial Custo...
Customer Choice and Direct Delivery: Competitive Options for Commercial Custo...
 
Gree klíma
Gree klímaGree klíma
Gree klíma
 
Mgea 3-edicion-web1
Mgea 3-edicion-web1Mgea 3-edicion-web1
Mgea 3-edicion-web1
 
La palta microeconomia
La palta microeconomiaLa palta microeconomia
La palta microeconomia
 
Bramma Consulting Profile
Bramma Consulting ProfileBramma Consulting Profile
Bramma Consulting Profile
 
Institute of Fisheries Management (London Branch) event
Institute of Fisheries Management (London Branch) eventInstitute of Fisheries Management (London Branch) event
Institute of Fisheries Management (London Branch) event
 
Law of attraction new
Law of attraction newLaw of attraction new
Law of attraction new
 
Praktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access pointPraktikum7 komdat_setting linksys access point
Praktikum7 komdat_setting linksys access point
 
Praktikum jaringan komputer 3 http server eksperimen
Praktikum jaringan komputer 3 http server eksperimenPraktikum jaringan komputer 3 http server eksperimen
Praktikum jaringan komputer 3 http server eksperimen
 
Paper1 jefri string
Paper1 jefri stringPaper1 jefri string
Paper1 jefri string
 
Ring2us | SudWebExpo
Ring2us | SudWebExpoRing2us | SudWebExpo
Ring2us | SudWebExpo
 

Similaire à Untangling Cluster Management with Helix

Apache Helix presentation at SOCC 2012
Apache Helix presentation at SOCC 2012Apache Helix presentation at SOCC 2012
Apache Helix presentation at SOCC 2012Kishore Gopalakrishna
 
Building Distributed Systems Using Helix
Building Distributed Systems Using HelixBuilding Distributed Systems Using Helix
Building Distributed Systems Using HelixAmy W. Tang
 
Apache Helix presentation at ApacheCon 2013
Apache Helix presentation at ApacheCon 2013Apache Helix presentation at ApacheCon 2013
Apache Helix presentation at ApacheCon 2013Kishore Gopalakrishna
 
Data driven testing: Case study with Apache Helix
Data driven testing: Case study with Apache HelixData driven testing: Case study with Apache Helix
Data driven testing: Case study with Apache HelixKishore Gopalakrishna
 
Node.js Explained
Node.js ExplainedNode.js Explained
Node.js ExplainedJeff Kunkle
 
Peer to-peer
Peer to-peerPeer to-peer
Peer to-peerMohd Arif
 
Hibari presentation at NOSQL AFTERNOON in JAPAN on Nov 1,2010
Hibari presentation at NOSQL AFTERNOON in JAPAN on Nov 1,2010Hibari presentation at NOSQL AFTERNOON in JAPAN on Nov 1,2010
Hibari presentation at NOSQL AFTERNOON in JAPAN on Nov 1,2010CLOUDIAN KK
 

Similaire à Untangling Cluster Management with Helix (10)

Apache Helix presentation at SOCC 2012
Apache Helix presentation at SOCC 2012Apache Helix presentation at SOCC 2012
Apache Helix presentation at SOCC 2012
 
Building Distributed Systems Using Helix
Building Distributed Systems Using HelixBuilding Distributed Systems Using Helix
Building Distributed Systems Using Helix
 
Apache Helix presentation at ApacheCon 2013
Apache Helix presentation at ApacheCon 2013Apache Helix presentation at ApacheCon 2013
Apache Helix presentation at ApacheCon 2013
 
Data driven testing: Case study with Apache Helix
Data driven testing: Case study with Apache HelixData driven testing: Case study with Apache Helix
Data driven testing: Case study with Apache Helix
 
Node.js Explained
Node.js ExplainedNode.js Explained
Node.js Explained
 
Raid_intro.ppt
Raid_intro.pptRaid_intro.ppt
Raid_intro.ppt
 
Peer to-peer
Peer to-peerPeer to-peer
Peer to-peer
 
Yokozuna
YokozunaYokozuna
Yokozuna
 
Hibari presentation at NOSQL AFTERNOON in JAPAN on Nov 1,2010
Hibari presentation at NOSQL AFTERNOON in JAPAN on Nov 1,2010Hibari presentation at NOSQL AFTERNOON in JAPAN on Nov 1,2010
Hibari presentation at NOSQL AFTERNOON in JAPAN on Nov 1,2010
 
Apache Helix presentation at Vmware
Apache Helix presentation at VmwareApache Helix presentation at Vmware
Apache Helix presentation at Vmware
 

Plus de Amy W. Tang

Data Infrastructure at LinkedIn
Data Infrastructure at LinkedInData Infrastructure at LinkedIn
Data Infrastructure at LinkedInAmy W. Tang
 
LinkedIn Segmentation & Targeting Platform: A Big Data Application
LinkedIn Segmentation & Targeting Platform: A Big Data ApplicationLinkedIn Segmentation & Targeting Platform: A Big Data Application
LinkedIn Segmentation & Targeting Platform: A Big Data ApplicationAmy W. Tang
 
Building a Real-Time Data Pipeline: Apache Kafka at LinkedIn
Building a Real-Time Data Pipeline: Apache Kafka at LinkedInBuilding a Real-Time Data Pipeline: Apache Kafka at LinkedIn
Building a Real-Time Data Pipeline: Apache Kafka at LinkedInAmy W. Tang
 
Espresso: LinkedIn's Distributed Data Serving Platform (Talk)
Espresso: LinkedIn's Distributed Data Serving Platform (Talk)Espresso: LinkedIn's Distributed Data Serving Platform (Talk)
Espresso: LinkedIn's Distributed Data Serving Platform (Talk)Amy W. Tang
 
Espresso: LinkedIn's Distributed Data Serving Platform (Paper)
Espresso: LinkedIn's Distributed Data Serving Platform (Paper)Espresso: LinkedIn's Distributed Data Serving Platform (Paper)
Espresso: LinkedIn's Distributed Data Serving Platform (Paper)Amy W. Tang
 
LinkedIn Graph Presentation
LinkedIn Graph PresentationLinkedIn Graph Presentation
LinkedIn Graph PresentationAmy W. Tang
 
Data Infrastructure at LinkedIn
Data Infrastructure at LinkedIn Data Infrastructure at LinkedIn
Data Infrastructure at LinkedIn Amy W. Tang
 
Data Infrastructure at LinkedIn
Data Infrastructure at LinkedInData Infrastructure at LinkedIn
Data Infrastructure at LinkedInAmy W. Tang
 
Voldemort on Solid State Drives
Voldemort on Solid State DrivesVoldemort on Solid State Drives
Voldemort on Solid State DrivesAmy W. Tang
 
All Aboard the Databus
All Aboard the DatabusAll Aboard the Databus
All Aboard the DatabusAmy W. Tang
 
Introduction to Databus
Introduction to DatabusIntroduction to Databus
Introduction to DatabusAmy W. Tang
 
A Small Overview of Big Data Products, Analytics, and Infrastructure at LinkedIn
A Small Overview of Big Data Products, Analytics, and Infrastructure at LinkedInA Small Overview of Big Data Products, Analytics, and Infrastructure at LinkedIn
A Small Overview of Big Data Products, Analytics, and Infrastructure at LinkedInAmy W. Tang
 

Plus de Amy W. Tang (12)

Data Infrastructure at LinkedIn
Data Infrastructure at LinkedInData Infrastructure at LinkedIn
Data Infrastructure at LinkedIn
 
LinkedIn Segmentation & Targeting Platform: A Big Data Application
LinkedIn Segmentation & Targeting Platform: A Big Data ApplicationLinkedIn Segmentation & Targeting Platform: A Big Data Application
LinkedIn Segmentation & Targeting Platform: A Big Data Application
 
Building a Real-Time Data Pipeline: Apache Kafka at LinkedIn
Building a Real-Time Data Pipeline: Apache Kafka at LinkedInBuilding a Real-Time Data Pipeline: Apache Kafka at LinkedIn
Building a Real-Time Data Pipeline: Apache Kafka at LinkedIn
 
Espresso: LinkedIn's Distributed Data Serving Platform (Talk)
Espresso: LinkedIn's Distributed Data Serving Platform (Talk)Espresso: LinkedIn's Distributed Data Serving Platform (Talk)
Espresso: LinkedIn's Distributed Data Serving Platform (Talk)
 
Espresso: LinkedIn's Distributed Data Serving Platform (Paper)
Espresso: LinkedIn's Distributed Data Serving Platform (Paper)Espresso: LinkedIn's Distributed Data Serving Platform (Paper)
Espresso: LinkedIn's Distributed Data Serving Platform (Paper)
 
LinkedIn Graph Presentation
LinkedIn Graph PresentationLinkedIn Graph Presentation
LinkedIn Graph Presentation
 
Data Infrastructure at LinkedIn
Data Infrastructure at LinkedIn Data Infrastructure at LinkedIn
Data Infrastructure at LinkedIn
 
Data Infrastructure at LinkedIn
Data Infrastructure at LinkedInData Infrastructure at LinkedIn
Data Infrastructure at LinkedIn
 
Voldemort on Solid State Drives
Voldemort on Solid State DrivesVoldemort on Solid State Drives
Voldemort on Solid State Drives
 
All Aboard the Databus
All Aboard the DatabusAll Aboard the Databus
All Aboard the Databus
 
Introduction to Databus
Introduction to DatabusIntroduction to Databus
Introduction to Databus
 
A Small Overview of Big Data Products, Analytics, and Infrastructure at LinkedIn
A Small Overview of Big Data Products, Analytics, and Infrastructure at LinkedInA Small Overview of Big Data Products, Analytics, and Infrastructure at LinkedIn
A Small Overview of Big Data Products, Analytics, and Infrastructure at LinkedIn
 

Dernier

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Untangling Cluster Management with Helix

  • 1. Untangling Cluster Management with Helix Helix team @ LinkedIn Kishore Gopalakrishna http://www.linkedin.com/in/kgopalak @kishoreg1980 Recruiting Solutions 1
  • 2. Outline  What is Helix  Use case 1: distributed data store  Architecture  Use case 2: consumer group  Helix at LinkedIn  Q&A 2
  • 3. What is Helix Cluster management framework for distributed systems using declarative state model 3
  • 5. Motivation  A system starts out simple…  …but gets complex in the real world  …as you address real requirements Application client library  Scale  Failover  Bootstrapping Call Routing System Replica 1 … Replica 2 … 5
  • 6. Motivation  Scale  Failover  Bootstrapping  These are cluster management problems  Helix solves them once…  …so you can focus on your system 6
  • 7. Outline  What is Helix  Use case 1: distributed data store  Architecture  Use case 2: consumer group  Helix at LinkedIn  Q&A 7
  • 8. Use-Case: Distributed Data Store  Distributed P.1 Node 1 Node 2 Node 3 8
  • 9. Use-Case: Distributed Data Store  Distributed  Partitioned P.1 P.2 P.3 P.5 P.6 P.7 P.9 P.1 P.11 0 P.4 P.8 P.1 2 Node 1 Node 2 Node 3 9
  • 10. Use-Case: Distributed Data Store  Distributed  Partitioned  Replicated P.1 P.2 P.3 P.5 P.6 P.7 P.9 P.1 P.11 0 P.4 P.5 P.6 P.8 P.1 P.2 P.1 P.3 P.4 2 P.9 P.1 P.11 P.1 P.7 P.8 0 2 Node 1 Node 2 Node 3 10
  • 11. Partition Layout  Highly Available  Master accepts writes  Balanced distribution Master Slave P.1 P.2 P.3 P.5 P.6 P.7 P.9 P.1 P.11 0 P.4 P.5 P.6 P.8 P.1 P.2 P.1 P.3 P.4 2 P.9 P.1 P.11 P.1 P.7 P.8 0 2 Node 1 Node 2 Node 3 11
  • 12. Failover Master Slave P.1 P.2 P.3 P.5 P.6 P.7 P.9 P.1 P.11 0 P.4 P.5 P.6 P.8 P.1 P.2 P.1 P.3 P.4 2 P.9 P.1 P.11 P.1 P.7 P.8 0 2 Node 1 Node 2 Node 3
  • 13. Add Capacity P.1 P.5 P.9 P.1 P.1 P.8 0 2 Master Node 4 Slave P.1 P.2 P.3 P.5 P.6 P.7 P.9 P.1 P.11 0 P.4 P.5 P.6 P.8 P.1 P.2 P.1 P.3 P.4 2 P.9 P.1 P.11 P.1 P.7 P.8 0 2 Node 1 Node 2 Node 3
  • 14. Use-case requirements • Partition constraints • 1 master per partition • Balance partitions across cluster • No single-point-of-failure: replicas on different nodes • Handle failures: transfer mastership • Elasticity • Distribute workload across added nodes  Minimize partition movement • Meet SLAs  Throttle concurrent data movement 14
  • 15. Declarative Problem Statement  State machine  Constraints – States – States  offline, slave, master – Transitions – Transitions  Objective  O-S, S-O, S-M, M-S – Partition placement COUNT=2 minimize(maxnj∈N S(nj) ) t1≤ 5 S t1 t2 t3 t4 O M COUNT=1 minimize(maxnj∈N M(nj) ) 15
  • 16. Generalizing cluster management STATE MACHINE CONSTRAINTS OBJECTIVE 16
  • 17. Outline  What is Helix  Use case 1: distributed data store  Architecture  Use case 2: consumer group  Helix at LinkedIn  Q&A 17
  • 18. Helix Based System Roles RESPONSE COMMAND P.1 P.2 P.3 P.5 P.6 P.7 P.9 P.1 P.1 0 1 P.4 P.5 P.6 P.8 P.1 P.2 P.1 P.3 P.4 P.1 2 P.9 P.1 P.1 P.1 P.7 P.8 0 1 2 Node 1 Node 2 Node 3 18
  • 19. Controller Execution Flow P1:OS P1:SM
  • 24. Benefits  Cluster operations “just work” – Bootstrapping – Failover – Add nodes  Global vs Local – Helix Controller  Global knowledge  Makes cluster decisions – Participant  Local knowledge  Follows orders 24
  • 25. Outline  What is Helix  Use case 1: distributed data store  Architecture  Use case 2: consumer group  Helix at LinkedIn  Q&A 25
  • 28. Consumer group: Fault tolerance 28
  • 30. Outline  What is Helix  Use case 1: distributed data store  Architecture  Use case 2: consumer group  Helix at LinkedIn  Q&A 30
  • 31. Helix usage at LinkedIn (Pictures)  Espresso – a timeline-consistent, distributed data store  Databus – a change data capture service  Search as a Service – a multi-tenant service for multiple search applications  More planned 31
  • 32. Summary  Generic framework  Easy to use: declarative model  Easy to operate 32
  • 33. Helix: Future Roadmap • Features • Span multiple data centers • Load balancing • Announcement • Open source: https://github.com/linkedin/helix • Apache incubation • New contributors