SlideShare a Scribd company logo
Parent & Origin Selection
Fall 2016 ATS summit
Parent Selection
Parent Selection: features
● Parent selection strategies
○ Round robin load balancing
○ Primary and secondary consistent hash rings
○ Fail over and transaction retry
● Origin servers as parents
○ Fail over and transaction retries.
○ Simple retry search for objects
○ Unavailable server rety
dest_domain=real_example.com parent=”origin1.example.com:80|0.5;origin2.example.com:80|0.5” round_robin=false
parent_is_proxy=false
● Parent health
Parent Selection
Edge cache group
parent cache group parent cache group
Edge cache group
Origins (parents)
Failover selection strategyPrimary consistent hash ring
Secondary consistent hash ring
Parent Selection: configuration and tuning
● parent.config:
○ Parent lists, rules and selection strategies.
● records.config:
○ Proxy.config.http.parent_routing_enable 0
○ Proxy.config.http.parent_proxy.retry_time 300
○ Proxy.config.http.parent_proxy.fail_threshold 10
○ Proxy.config.http.parent_proxy.total_connect_attempts 4
○ Proxy.config.http.parent_proxy.per_parent_connect_attempts 2
○ Proxy.config.http.parent_proxy.connect_attempts_timeout 30
Parent Selection
● TS-4644 - parent selection configuration per remap.
○ map http://example.com http://real_example.com @parent=example_parent.config
○ Lua config file.
● Potential for parent selection plugins.
Origin Selection (load balancing)
● LB algorithms
○ RR
○ Consistent hashing
○ Least-connections
● Retry/Redispatch
● Separation of “origin” and “real”
○ Connection limits
○ Queue limit
● “Real” health status
○ Slowstart
○ backup
Origin Selection: Features we want
A look at how haproxy does it
● What is different?
○ HAProxy is designed as a Load balancer (not so much as a general purpose proxy)
○ No DNS lookups live-- all done at start
● What is the same?
○ Load balances to N reals
○ Needs to handle flaky downstreams
A look at how haproxy does it: a look at the stats
What does ATS do today? Origin handling
● proxy.config.http.server_max_connections
● proxy.config.http.connect_attempts_max_retries_dead_server
● proxy.config.http.connect_attempts_max_retries
● proxy.config.http.origin_max_connections
● proxy.config.http.origin_max_connections_queue
● proxy.config.http.origin_min_keep_alive_connections
● proxy.config.http.connect_attempts_rr_retries
● proxy.config.http.connect_attempts_timeout
● proxy.config.http.down_server.cache_time
● proxy.config.http.down_server.abort_threshold
Goals / Plans
● Metrics
○ # of reals
○ # of available reals
○ # of connections to VIP
○ # of connections to real
● Handle downstream failures (dns, origins, etc.)
● Per-origin configuration
Problems with the separation
● Multiple paths in the HttpSM
● Inconsistencies
○ Selection algorithms
○ Retry logic
○ Usage
● At its core parent selection is a mechanism to control selecting origin
○ Select a real to connect to
○ Potential fall-back to other layers of cache
● At its core origin selection is just a mechanism to pick an IP to connect to
Thoughts on consolidation
● Option 1: Consolidated generator style API for IPs
○ Consolidate HttpSM to only do a single “connect” pass
○ Generator that returns an IP to connect to
○ Failures would send data back to the generator to return another selection
○ Retry logic would be outside (above) this layer
○ Potential to make this accessible as plugin API
● Option 2: Parent selection as an intercept plugin
○ Complete control from the plugin on how fallback and retries work
○ Simplified HttpSM
○ Easily extensible (since it’s not in the core)
Thoughts on consolidation

More Related Content

What's hot

How do i Meet MongoDB
How do i Meet MongoDBHow do i Meet MongoDB
How do i Meet MongoDB
Antonio Scalzo
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
Nosh Petigara
 
MongoDB - javascript for your data
MongoDB - javascript for your dataMongoDB - javascript for your data
MongoDB - javascript for your data
aaronheckmann
 
A Year With MongoDB: The Tips
A Year With MongoDB: The TipsA Year With MongoDB: The Tips
A Year With MongoDB: The Tips
Rizky Abdilah
 
Mongo DB 102
Mongo DB 102Mongo DB 102
Mongo DB 102
Abhijeet Vaikar
 

What's hot (6)

How do i Meet MongoDB
How do i Meet MongoDBHow do i Meet MongoDB
How do i Meet MongoDB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
MongoDB - javascript for your data
MongoDB - javascript for your dataMongoDB - javascript for your data
MongoDB - javascript for your data
 
A Year With MongoDB: The Tips
A Year With MongoDB: The TipsA Year With MongoDB: The Tips
A Year With MongoDB: The Tips
 
Mongo DB 102
Mongo DB 102Mongo DB 102
Mongo DB 102
 

Viewers also liked

Speed dating
Speed datingSpeed dating
Speed dating
Jessica Drinks
 
Preview like a boss!
Preview like a boss!Preview like a boss!
Preview like a boss!
Jessica Drinks
 
сценарий олимпийский урок с викториной
сценарий олимпийский урок  с викторинойсценарий олимпийский урок  с викториной
сценарий олимпийский урок с викториной
shendrygina
 
Library expectations
Library expectationsLibrary expectations
Library expectations
Jessica Drinks
 
Tema2 bbdd
Tema2 bbddTema2 bbdd
Tema2 bbdd
TESCO
 
HEAG Wohnbau GmbH - Roter Teppich für Immobilien-Eigentümer und Studenten
HEAG Wohnbau GmbH - Roter Teppich für Immobilien-Eigentümer und StudentenHEAG Wohnbau GmbH - Roter Teppich für Immobilien-Eigentümer und Studenten
HEAG Wohnbau GmbH - Roter Teppich für Immobilien-Eigentümer und Studenten
Heag Wohnbau
 
01 флешка
01 флешка01 флешка
01 флешка
valga99
 
Pedro tiapa gestion de proyectos
Pedro tiapa gestion de proyectosPedro tiapa gestion de proyectos
Pedro tiapa gestion de proyectos
Pedro C
 
Paper 3 set 1
Paper 3 set 1Paper 3 set 1
Paper 3 set 1
Kpr Elein YL
 
Preparacion a emergencias
Preparacion a emergenciasPreparacion a emergencias
Preparacion a emergencias
Karencastroana
 
Anlisisdegasesarteriales
AnlisisdegasesarterialesAnlisisdegasesarteriales
Anlisisdegasesarteriales
Lys Yep
 
Top ten
Top tenTop ten
Magnifying loupe adjustment
Magnifying loupe adjustment  Magnifying loupe adjustment
Magnifying loupe adjustment
Vaikunthan Rajaratnam
 
SaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsSaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertools
Thomas Jackson
 
SaltConf 2015: Salt stack at web scale: Better, Stronger, Faster
SaltConf 2015: Salt stack at web scale: Better, Stronger, FasterSaltConf 2015: Salt stack at web scale: Better, Stronger, Faster
SaltConf 2015: Salt stack at web scale: Better, Stronger, Faster
Thomas Jackson
 
Saltconf 2016: Salt stack transport and concurrency
Saltconf 2016: Salt stack transport and concurrencySaltconf 2016: Salt stack transport and concurrency
Saltconf 2016: Salt stack transport and concurrency
Thomas Jackson
 
Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStackBitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
Subbu Rama
 
The SaltStack Pub Crawl - Fosscomm 2016
The SaltStack Pub Crawl - Fosscomm 2016The SaltStack Pub Crawl - Fosscomm 2016
The SaltStack Pub Crawl - Fosscomm 2016
effie mouzeli
 
Salty OPS – Saltstack Introduction
Salty OPS – Saltstack IntroductionSalty OPS – Saltstack Introduction
Salty OPS – Saltstack IntroductionWalter Liu
 
HTTP/2 Server Push
HTTP/2 Server PushHTTP/2 Server Push
HTTP/2 Server Push
Apache Traffic Server
 

Viewers also liked (20)

Speed dating
Speed datingSpeed dating
Speed dating
 
Preview like a boss!
Preview like a boss!Preview like a boss!
Preview like a boss!
 
сценарий олимпийский урок с викториной
сценарий олимпийский урок  с викторинойсценарий олимпийский урок  с викториной
сценарий олимпийский урок с викториной
 
Library expectations
Library expectationsLibrary expectations
Library expectations
 
Tema2 bbdd
Tema2 bbddTema2 bbdd
Tema2 bbdd
 
HEAG Wohnbau GmbH - Roter Teppich für Immobilien-Eigentümer und Studenten
HEAG Wohnbau GmbH - Roter Teppich für Immobilien-Eigentümer und StudentenHEAG Wohnbau GmbH - Roter Teppich für Immobilien-Eigentümer und Studenten
HEAG Wohnbau GmbH - Roter Teppich für Immobilien-Eigentümer und Studenten
 
01 флешка
01 флешка01 флешка
01 флешка
 
Pedro tiapa gestion de proyectos
Pedro tiapa gestion de proyectosPedro tiapa gestion de proyectos
Pedro tiapa gestion de proyectos
 
Paper 3 set 1
Paper 3 set 1Paper 3 set 1
Paper 3 set 1
 
Preparacion a emergencias
Preparacion a emergenciasPreparacion a emergencias
Preparacion a emergencias
 
Anlisisdegasesarteriales
AnlisisdegasesarterialesAnlisisdegasesarteriales
Anlisisdegasesarteriales
 
Top ten
Top tenTop ten
Top ten
 
Magnifying loupe adjustment
Magnifying loupe adjustment  Magnifying loupe adjustment
Magnifying loupe adjustment
 
SaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsSaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertools
 
SaltConf 2015: Salt stack at web scale: Better, Stronger, Faster
SaltConf 2015: Salt stack at web scale: Better, Stronger, FasterSaltConf 2015: Salt stack at web scale: Better, Stronger, Faster
SaltConf 2015: Salt stack at web scale: Better, Stronger, Faster
 
Saltconf 2016: Salt stack transport and concurrency
Saltconf 2016: Salt stack transport and concurrencySaltconf 2016: Salt stack transport and concurrency
Saltconf 2016: Salt stack transport and concurrency
 
Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStackBitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
Bitfusion Saltconf16 - Seamless Docker Orchestration with SaltStack
 
The SaltStack Pub Crawl - Fosscomm 2016
The SaltStack Pub Crawl - Fosscomm 2016The SaltStack Pub Crawl - Fosscomm 2016
The SaltStack Pub Crawl - Fosscomm 2016
 
Salty OPS – Saltstack Introduction
Salty OPS – Saltstack IntroductionSalty OPS – Saltstack Introduction
Salty OPS – Saltstack Introduction
 
HTTP/2 Server Push
HTTP/2 Server PushHTTP/2 Server Push
HTTP/2 Server Push
 

Similar to Fall 2016 ats summit - Parent & Origin Selection

Our Story With ClickHouse at seo.do
Our Story With ClickHouse at seo.doOur Story With ClickHouse at seo.do
Our Story With ClickHouse at seo.do
Metehan Çetinkaya
 
Time series denver an introduction to prometheus
Time series denver   an introduction to prometheusTime series denver   an introduction to prometheus
Time series denver an introduction to prometheus
Bob Cotton
 
Beyond unit tests: Deployment and testing for Hadoop/Spark workflows
Beyond unit tests: Deployment and testing for Hadoop/Spark workflowsBeyond unit tests: Deployment and testing for Hadoop/Spark workflows
Beyond unit tests: Deployment and testing for Hadoop/Spark workflows
DataWorks Summit
 
Comparing high availability solutions with percona xtradb cluster and percona...
Comparing high availability solutions with percona xtradb cluster and percona...Comparing high availability solutions with percona xtradb cluster and percona...
Comparing high availability solutions with percona xtradb cluster and percona...
Marco Tusa
 
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBasehbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
Michael Stack
 
Journey through high performance django application
Journey through high performance django applicationJourney through high performance django application
Journey through high performance django application
bangaloredjangousergroup
 
Silverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsSilverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applications
BrettTasker
 
MySQL topology healing at OLA.
MySQL topology healing at OLA.MySQL topology healing at OLA.
MySQL topology healing at OLA.
Mydbops
 
Benchmarks, performance, scalability, and capacity what s behind the numbers...
Benchmarks, performance, scalability, and capacity  what s behind the numbers...Benchmarks, performance, scalability, and capacity  what s behind the numbers...
Benchmarks, performance, scalability, and capacity what s behind the numbers...
james tong
 
Benchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbersBenchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbers
Justin Dorfman
 
Query optimization in Apache Tajo
Query optimization in Apache TajoQuery optimization in Apache Tajo
Query optimization in Apache Tajo
Jihoon Son
 
212 building googlebot - deview - google drive
212 building googlebot - deview - google drive212 building googlebot - deview - google drive
212 building googlebot - deview - google driveNAVER D2
 
How to monitor NGINX
How to monitor NGINXHow to monitor NGINX
How to monitor NGINX
Server Density
 
Cassandra drivers
Cassandra driversCassandra drivers
Cassandra driversTyler Hobbs
 
Linux-HA with Pacemaker
Linux-HA with PacemakerLinux-HA with Pacemaker
Linux-HA with Pacemaker
Kris Buytaert
 
Will it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing ApplicationsWill it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing Applications
Navina Ramesh
 
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
Kai Chan
 
Web performance optimization - MercadoLibre
Web performance optimization - MercadoLibreWeb performance optimization - MercadoLibre
Web performance optimization - MercadoLibre
Pablo Moretti
 
Web performance mercadolibre - ECI 2013
Web performance   mercadolibre - ECI 2013Web performance   mercadolibre - ECI 2013
Web performance mercadolibre - ECI 2013
Santiago Aimetta
 
Load testing in Zonky with Gatling
Load testing in Zonky with GatlingLoad testing in Zonky with Gatling
Load testing in Zonky with Gatling
Petr Vlček
 

Similar to Fall 2016 ats summit - Parent & Origin Selection (20)

Our Story With ClickHouse at seo.do
Our Story With ClickHouse at seo.doOur Story With ClickHouse at seo.do
Our Story With ClickHouse at seo.do
 
Time series denver an introduction to prometheus
Time series denver   an introduction to prometheusTime series denver   an introduction to prometheus
Time series denver an introduction to prometheus
 
Beyond unit tests: Deployment and testing for Hadoop/Spark workflows
Beyond unit tests: Deployment and testing for Hadoop/Spark workflowsBeyond unit tests: Deployment and testing for Hadoop/Spark workflows
Beyond unit tests: Deployment and testing for Hadoop/Spark workflows
 
Comparing high availability solutions with percona xtradb cluster and percona...
Comparing high availability solutions with percona xtradb cluster and percona...Comparing high availability solutions with percona xtradb cluster and percona...
Comparing high availability solutions with percona xtradb cluster and percona...
 
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBasehbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
hbaseconasia2019 Test-suite for Automating Data-consistency checks on HBase
 
Journey through high performance django application
Journey through high performance django applicationJourney through high performance django application
Journey through high performance django application
 
Silverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsSilverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applications
 
MySQL topology healing at OLA.
MySQL topology healing at OLA.MySQL topology healing at OLA.
MySQL topology healing at OLA.
 
Benchmarks, performance, scalability, and capacity what s behind the numbers...
Benchmarks, performance, scalability, and capacity  what s behind the numbers...Benchmarks, performance, scalability, and capacity  what s behind the numbers...
Benchmarks, performance, scalability, and capacity what s behind the numbers...
 
Benchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbersBenchmarks, performance, scalability, and capacity what's behind the numbers
Benchmarks, performance, scalability, and capacity what's behind the numbers
 
Query optimization in Apache Tajo
Query optimization in Apache TajoQuery optimization in Apache Tajo
Query optimization in Apache Tajo
 
212 building googlebot - deview - google drive
212 building googlebot - deview - google drive212 building googlebot - deview - google drive
212 building googlebot - deview - google drive
 
How to monitor NGINX
How to monitor NGINXHow to monitor NGINX
How to monitor NGINX
 
Cassandra drivers
Cassandra driversCassandra drivers
Cassandra drivers
 
Linux-HA with Pacemaker
Linux-HA with PacemakerLinux-HA with Pacemaker
Linux-HA with Pacemaker
 
Will it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing ApplicationsWill it Scale? The Secrets behind Scaling Stream Processing Applications
Will it Scale? The Secrets behind Scaling Stream Processing Applications
 
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
 
Web performance optimization - MercadoLibre
Web performance optimization - MercadoLibreWeb performance optimization - MercadoLibre
Web performance optimization - MercadoLibre
 
Web performance mercadolibre - ECI 2013
Web performance   mercadolibre - ECI 2013Web performance   mercadolibre - ECI 2013
Web performance mercadolibre - ECI 2013
 
Load testing in Zonky with Gatling
Load testing in Zonky with GatlingLoad testing in Zonky with Gatling
Load testing in Zonky with Gatling
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 

Fall 2016 ats summit - Parent & Origin Selection

  • 1. Parent & Origin Selection Fall 2016 ATS summit
  • 3. Parent Selection: features ● Parent selection strategies ○ Round robin load balancing ○ Primary and secondary consistent hash rings ○ Fail over and transaction retry ● Origin servers as parents ○ Fail over and transaction retries. ○ Simple retry search for objects ○ Unavailable server rety dest_domain=real_example.com parent=”origin1.example.com:80|0.5;origin2.example.com:80|0.5” round_robin=false parent_is_proxy=false ● Parent health
  • 4. Parent Selection Edge cache group parent cache group parent cache group Edge cache group Origins (parents) Failover selection strategyPrimary consistent hash ring Secondary consistent hash ring
  • 5. Parent Selection: configuration and tuning ● parent.config: ○ Parent lists, rules and selection strategies. ● records.config: ○ Proxy.config.http.parent_routing_enable 0 ○ Proxy.config.http.parent_proxy.retry_time 300 ○ Proxy.config.http.parent_proxy.fail_threshold 10 ○ Proxy.config.http.parent_proxy.total_connect_attempts 4 ○ Proxy.config.http.parent_proxy.per_parent_connect_attempts 2 ○ Proxy.config.http.parent_proxy.connect_attempts_timeout 30
  • 6. Parent Selection ● TS-4644 - parent selection configuration per remap. ○ map http://example.com http://real_example.com @parent=example_parent.config ○ Lua config file. ● Potential for parent selection plugins.
  • 8. ● LB algorithms ○ RR ○ Consistent hashing ○ Least-connections ● Retry/Redispatch ● Separation of “origin” and “real” ○ Connection limits ○ Queue limit ● “Real” health status ○ Slowstart ○ backup Origin Selection: Features we want
  • 9. A look at how haproxy does it ● What is different? ○ HAProxy is designed as a Load balancer (not so much as a general purpose proxy) ○ No DNS lookups live-- all done at start ● What is the same? ○ Load balances to N reals ○ Needs to handle flaky downstreams
  • 10. A look at how haproxy does it: a look at the stats
  • 11. What does ATS do today? Origin handling ● proxy.config.http.server_max_connections ● proxy.config.http.connect_attempts_max_retries_dead_server ● proxy.config.http.connect_attempts_max_retries ● proxy.config.http.origin_max_connections ● proxy.config.http.origin_max_connections_queue ● proxy.config.http.origin_min_keep_alive_connections ● proxy.config.http.connect_attempts_rr_retries ● proxy.config.http.connect_attempts_timeout ● proxy.config.http.down_server.cache_time ● proxy.config.http.down_server.abort_threshold
  • 12. Goals / Plans ● Metrics ○ # of reals ○ # of available reals ○ # of connections to VIP ○ # of connections to real ● Handle downstream failures (dns, origins, etc.) ● Per-origin configuration
  • 13. Problems with the separation ● Multiple paths in the HttpSM ● Inconsistencies ○ Selection algorithms ○ Retry logic ○ Usage
  • 14. ● At its core parent selection is a mechanism to control selecting origin ○ Select a real to connect to ○ Potential fall-back to other layers of cache ● At its core origin selection is just a mechanism to pick an IP to connect to Thoughts on consolidation
  • 15. ● Option 1: Consolidated generator style API for IPs ○ Consolidate HttpSM to only do a single “connect” pass ○ Generator that returns an IP to connect to ○ Failures would send data back to the generator to return another selection ○ Retry logic would be outside (above) this layer ○ Potential to make this accessible as plugin API ● Option 2: Parent selection as an intercept plugin ○ Complete control from the plugin on how fallback and retries work ○ Simplified HttpSM ○ Easily extensible (since it’s not in the core) Thoughts on consolidation