SlideShare a Scribd company logo
1 of 72
Download to read offline
Production Engineer, Traffic Team
Building a Billion User Load
Balancer
Patrick Shuff
We’ll be talking about
© 2015 Facebook | Dublin | Credits: network icon by Daniel Gamage https://thenounproject.com/term/network/49138/, tools icon by Kiryl Sytsko https://thenounproject.com/term/tools/122204/, chess icon by Dream Icons, https://thenounproject.com/term/chess/127867/, Paraglider by Matt Brooks https://thenounproject.com/term/paraglider/114410/, Question by Henrik Lund Mikkelsen
https://thenounproject.com/term/question/8325/ https://creativecommons.org/licenses/by/3.0/ https://thenounproject.com/term/web-search/18390/
Serving Dynamic
Facebook Requests
L4/L7 Load
Balancing
Edge PoP and
Reducing Latency
Global DNS
Load Balancing
Q&A
Traffic @ fb
Facebook scale
as of March 2015
936 million daily active
people on average
798 million mobile daily
active people on average
1.25 billion mobile
monthly active people
1.44 billion monthly
active people
© 2015 Facebook | Dublin | Credit: Network icon by Daniel Gamage https://thenounproject.com/term/network/49138/ Public Domain
Facebook scale
as of March 2015
936 million daily active
people on average
798 million mobile daily
active people on average
1.25 billion mobile
monthly active people
1.44 billion monthly
active people
Approximately 82.4% of our daily active users are outside the US and Canada
© 2015 Facebook | Dublin | Credit: Network icon by Daniel Gamage https://thenounproject.com/term/network/49138/ Public Domain
What is facebook?
Photos
Videos
Newsfeed
Likes
© 2015 Facebook | Dublin | Credit: Network icon by Daniel Gamage https://thenounproject.com/term/network/49138/ Public Domain
Dynamic Requests
Javascript/CSSStatus Updates
Static Requests
Messaging
(from traffic's perspective)
What is facebook?
Photos
Videos
Newsfeed
Likes
© 2015 Facebook | Dublin | Credit: Network icon by Daniel Gamage https://thenounproject.com/term/network/49138/ Public Domain
Dynamic Requests
Javascript/CSSStatus Updates
Static Requests
Messaging
(from traffic's perspective)
Terabits of egress (outgoing bits per second)
What is facebook?
Photos
Videos
Newsfeed
Likes
© 2015 Facebook | Dublin | Credit: Network icon by Daniel Gamage https://thenounproject.com/term/network/49138/ Public Domain
Dynamic Requests
Javascript/CSSStatus Updates
Static Requests
Messaging
(from traffic's perspective)
© 2015 Facebook | Menlo Park | Credit:
What are we talking about?


HHVM
© 2015 Facebook | Menlo Park | Credit:
What are we not talking about?


HHVM


MySQL


Cache


Msgs


Feed


Ads
7 Days
Egress
Ingress
Weekly egress cycle
11 AM
24 hours
3 PM
Diurnal egress Cycle
Time zone == Pacific
(-0800 GMT)
United Kingdom
Canada
Indonesia
7 PM
24 hours
9 AM
Sum of timezones
Time zone == Pacific
(-0800 GMT)
TCP/IP Review
© 2015 Facebook | Menlo Park | Credit:
OSI Model
Layer Purpose Ex
7: Application High-Level API HTTP, SPDY, MQTT
6: Presentation Data Translation ASCII, JPEG
5: Session Communication Session RPC
4: Transport Transmission TCP, UDP
3: Network Address, Routing, Flow IPv6, IPv4
2: Data Link Reliable Physical Comm. IEEE, 802.2
1: Physical Raw bit transmission DSL, USB
© 2015 Facebook | Menlo Park | Credit:
IP Header (OSI Layer 3)
Version DSCP ECN Flow Label
Payload Length Next Header Hop limit
Source Address
Destination Address
Data
© 2015 Facebook | Menlo Park | Credit:
TCP Header (OSI Layer 4)
Source Port Destination Port
Sequence Number
Acknowledgement Number
….
Application Payload
© 2015 Facebook | Menlo Park | Credit:
HTTP Request (OSI Layer 7)
GET / HTTP/1.1
host: www.facebook.com
© 2015 Facebook | Menlo Park | Credit:
Putting it all together
Version DSCP ECN Flow Label
Payload Length Next Header Hop limit
Source Address
Destination Address
Source Port Destination Port
Sequence Number
Acknowledgement Number
….
GET / HTTP/1.1
host: www.facebook.com
L3
L4
L7
© 2015 Facebook | Menlo Park | Credit:
Putting it all together
IP Packet
TCP Segment
HTTP Request
Serving Dynamic Facebook
Requests
© 2015 Facebook | Menlo Park | Credit:
FB Request -- one web server
low rps
how do we get more
rps?!
GET / 

HHVM
AAAA www.facebook.com
DNS
rps = requests per second
<html>...
AAAA 2a03:2880:2130:cf05:face:b00c::1
© 2015 Facebook | Menlo Park | Credit:
Add a load balancer!
www ?
GET /
<html>...


L7LB
(proxygen)


PHP


PHP


HHVM
GET /
<html>...
AAAA 2a03:2880:2130:cf05:face:b00c::1
DNS
rps = requests per second
how do we get more
rps?!
lots more rps low rps
AAAA www.facebook.com
© 2015 Facebook | Menlo Park | Credit:
Add another load balancer!
www ?
GET /
<html>...


L7LB
(proxygen)


PHPL4LB
(ipvs)


PHP


PHP
GET /
<html>...


L7LB
(proxygen)


L7LB
(proxygen)
GET /
<html>...
DNS
how do we get more rps?!
network bound lots more rps low rps


PHP


HHVM
AAAA 2a03:2880:2130:cf05:face:b00c::1
AAAA www.facebook.com
© 2015 Facebook | Menlo Park | Credit:
Add another load balancer!
GET /
<html>...


L7LB
(proxygen)
L4LB
(shiv)
GET /
<html>...


L7LB
(proxygen)


L7LB
(proxygen)
GET /
<html>...
L4LB
(ipvs)
DNS
network bound
lots more rps low rps


L7LB
(proxygen)


PHP


PHP


PHP


PHP


HHVM


PHP


PHP


PHP


PHP


HHVM
ECMP
AAAA 2a03:2880:2130:cf05:face:b00c::1
AAAA www.facebook.com
© 2015 Facebook | Menlo Park | Credit:
Front end Web
Cluster
~10
~100
Thousands
© 2015 Facebook | Menlo Park | Credit:
cont.
x 10 or more
© 2015 Facebook | Menlo Park | Credit:
More RPS? Add another cluster!
w
GET /
<html>...


L7LB
(proxygen)


PHP
L4LB
(shiv)


PHP


HHVM
how do we get more rps?!
GET /
<html>...


L7LB
(proxygen)


L7LB
(proxygen)
GET /
<html>...
L4LB
(ipvs)
GET /
<html>...


L7LB
(proxygen)


PHP
L4LB
(shiv)


PHP


HHVM
GET /
<html>...


L7LB
(proxygen)


L7LB
(proxygen)
GET /
<html>...
L4LB
(ipvs)
DNS
AAAA www.facebook.com
AAAA 2a03:2880:2130:cf05:face:b00c::1
© 2015 Facebook | Menlo Park | Credit:
Add another datacenter!
w
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
G
<
DNS
AAAA www.facebook.com
AAAA 2a03:2880:2130:cf05:face:b00c::1
Not really top down
1.2.3.4
L4LB


L7LB


HHVM
© 2015 Facebook | Menlo Park | Credit:
Datacenter Locations
Load Balancing: L4/L7
© 2015 Facebook | Menlo Park | Credit:
Let's break it down
GET /
<html>...


L7LB
(proxygen)


PHP
L4LB
(shiv)


PHP


HHVM
GET /
<html>...


L7LB
(proxygen)


L7LB
(proxygen)
GET /
<html>...
L4LB
(ipvs)
www?
A 1.2.3.4 DNS
L4 = IP/port
L7 = HTTP
© 2015 Facebook | Menlo Park | Credit:
OSI Model: What is L4/L7?


L7LB
(proxygen)
L4LB
(ipvs)
Layer Purpose Ex
7: Application High-Level API HTTP, SPDY, MQTT
6: Presentation Data Translation ASCII, JPEG
5: Session Communication Session RPC
4: Transport Transmission TCP, UDP
3: Network Address, Routing, Flow IPv6, IPv4
2: Data Link Reliable Physical Comm. IEEE, 802.2
1: Physical Raw bit transmission DSL, USB
ECMP
L4LB L4LB
L4LB
ECMP
Hash
BGP


L7LB


L7LB


L7LB


L7LB
NOTE: L7 (proxygen) Listens to the VIP on loopback (lo) interface. Not eth0.
face:b00c::1 face:b00c::1
face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo)
L4LB
State
Table
+
Hash
ECMP
Hash
BGP
L4LB L4LB


L7LB


L7LB


L7LB


L7LB
NOTE: L7 (proxygen) Listens to the VIP on loopback (lo) interface. Not eth0.
Service
Discovery
(Zookeeper)
face:b00c::1 face:b00c::1
face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo)


L7LB


L7LB


L7LB


L7LB
L4LB L4LB
L4LB Example
State
Table
+
Hash
ECMP
Hash
A
face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo)
face:b00c::1 face:b00c::1


L7LB


L7LB


L7LB


L7LB
L4LB L4LB
L4LB Routing
D
State
Table
+
Hash
ECMP
Hash
A
A
face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo)
face:b00c::1 face:b00c::1


L7LB


L7LB


L7LB


L7LB
L4LB L4LB
L4LB Routing
B
State
Table
+
Hash
ECMP
Hash
face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo)
face:b00c::1 face:b00c::1


L7LB


L7LB


L7LB


L7LB
L4LB L4LB
L4LB Routing
B
State
Table
+
Hash
ECMP
Hash
face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo)
face:b00c::1 face:b00c::1
Direct
Server
Return
TCP Routing
Facebook


HHVM


HHVM
L4LB


HHVM


HHVM
L7LBL7LBL7LBL7LB
TCP
SSL
HTTP
face:b00c::1
face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo) face:b00c::1 (lo)
© 2015 Facebook | Menlo Park | Credit:
Remember this?
Original IP Packet
TCP Segment
HTTP Request
© 2015 Facebook | Menlo Park | Credit:
IP Packet from IPVS
IP in IP encapsulation
Original IP Packet
TCP Segment
HTTP Request
Direct
Server
Return
Original IP Packet
TCP Segment
HTTP Request
L4LB
L7LB
Response IP Pckt
TCP Segment
HTTP Response
face:b00c::1 (lo)
IP Packet from IPVS
Original IP Packet
TCP Segment
HTTP Request
L4LB L7LB
TCP/SSL Term
Forward HTTP RequestIP Packet from IPVS
Original IP Packet
TCP Segment
HTTP Request
face:b00c::1 (lo)face:b00c::1
face:b00c::1


Edge PoP’s & Reducing Latency
International RTT
circa 11/2011
Seoul -> Oregon
TCP Connect: 150ms
HTTPS Seoul -> Oregon
GET
HTTP 1.1
ChangeCipherSpec
ChangeCipherSpec
ACK
ServerHello
SYN+ACK
SYN
ClientHello
TCP conn
established:
150 ms
SSL session
established:
450 ms
Response
Received
600 ms
75ms
Seoul -> Tokyo -> Oregon
TCP Connect: 30ms
SSL Session: ??
HTTP Response: ??
NRT
HTTPS Seoul->Tokyo->Oregon
GET
HTTP 1.1
Sessions
established:
90 ms
(vs 450 ms)
Response
Received:
240 ms
60ms
GET
HTTP 1.1 200
15ms
Request
Received
Seoul -> Oregon
NRT
TCP Connect: 150ms
SSL Session: 450ms
HTTP Response: 600ms
30ms
90ms
240ms
© 2015 Facebook | Menlo Park | Credit:
Edge POP Locations
*POP = points of presence.
© 2015 Facebook | Menlo Park | Credit:
How do the LB’s in PoP’s work?
"Flag of Sweden". Licensed under Public Domain via Wikipedia - http://en.wikipedia.org/wiki/File:Flag_of_Sweden.svg#/media/File:Flag_of_Sweden.svg
TCP Routing
(ip/port)
Facebook
L4LB


L7LB
TCP/SSL
HTTP


HHVM
face:b00c::1
face:b00c::1 (lo)


HHVM


L7LB
L4LB
face:b00c::1
face:b00c::1 (lo)
DNS LB: Cartographer
© 2015 Facebook | Menlo Park | Credit:
Edge POP Locations
*POP = points of presence.
DNS LB Decision
Considerations:
•Closest Edge** to user
•Capacity
•Health
•Geo data
???
Sonar: Measuring “Closeness”
NRT
HKG
SEA
LAX
ORD
Cartographer Architecture
Internet
ISP DNS
resolver
Facebook Infrastructure
DNS mapcartographer
offline processing
DNS Serverresolvers/latency
capacity
routing
health
Cartographer Architecture
Cartographer in action
Regional Load Shedding
Global Load Shedding
Monitoring
Monitoring (Not enough time)
Open Source
Open Source Components
• Proxygen Libs
https://github.com/facebook/proxygen
• HHVM
https://hhvm.com
• TinyDNS
https://cr.yp.to/djbdns/tinydns.html
• IPVS (IP Virtual Server)
http://www.linuxvirtualserver.org/software/ipvs.html
• ExaBGP
https://github.com/Exa-Networks/exabgp
• Python
https://python.org
• Zookeeper
https://zookeeper.apache.org
Photo Credits
http://www.flickr.com/photos/27587002@N07/5170590074
http://www.flickr.com/photos/yaketyyakyak/7001664846
http://www.flickr.com/photos/hinnosaar/3778903507
http://www.flickr.com/photos/eamoncurry/8698726494
http://www.flickr.com/photos/43158397@N02/4514113429
http://www.flickr.com/photos/nobusue/6876280595
http://www.flickr.com/photos/29487672@N07/14760573314
http://www.flickr.com/photos/joyosity/3595242078
http://www.flickr.com/photos/kyntharyn74/3262089319
http://www.flickr.com/photos/rexipe/826987087
http://www.flickr.com/photos/lablasco/6815671096
https://thenounproject.com/term/iphone-profile/54906/
https://thenounproject.com/term/browser/59091/
Building a Billion User Load Balancer
Building a Billion User Load Balancer

More Related Content

What's hot

Automatic Operation Bot for Ceph - You Ji
Automatic Operation Bot for Ceph - You JiAutomatic Operation Bot for Ceph - You Ji
Automatic Operation Bot for Ceph - You JiCeph Community
 
LF_OVS_17_LXC Linux Containers over Open vSwitch
LF_OVS_17_LXC Linux Containers over Open vSwitchLF_OVS_17_LXC Linux Containers over Open vSwitch
LF_OVS_17_LXC Linux Containers over Open vSwitchLF_OpenvSwitch
 
How Networking works with Data Science
How Networking works with Data Science How Networking works with Data Science
How Networking works with Data Science HungWei Chiu
 
Control Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring UsControl Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring UsHungWei Chiu
 
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014Amazon Web Services
 
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...NoSQLmatters
 
Stacking up with OpenStack: Building for High Availability
Stacking up with OpenStack: Building for High AvailabilityStacking up with OpenStack: Building for High Availability
Stacking up with OpenStack: Building for High AvailabilityOpenStack Foundation
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
Using SLOs for Continuous Performance Optimizations of Your k8s Workloads
Using SLOs for Continuous Performance Optimizations of Your k8s WorkloadsUsing SLOs for Continuous Performance Optimizations of Your k8s Workloads
Using SLOs for Continuous Performance Optimizations of Your k8s WorkloadsScyllaDB
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch IntroductionHungWei Chiu
 
Peter Zaitsev "18 ways to fix MySQL bottlenecks"
Peter Zaitsev "18 ways to fix MySQL bottlenecks"Peter Zaitsev "18 ways to fix MySQL bottlenecks"
Peter Zaitsev "18 ways to fix MySQL bottlenecks"Fwdays
 
"High-load is at the intersection of DevOps and PHP development",
"High-load is at the intersection of DevOps and PHP development", "High-load is at the intersection of DevOps and PHP development",
"High-load is at the intersection of DevOps and PHP development", Fwdays
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelThomas Graf
 
LF_OVS_17_State of the OVN
LF_OVS_17_State of the OVNLF_OVS_17_State of the OVN
LF_OVS_17_State of the OVNLF_OpenvSwitch
 
Open stack HA - Theory to Reality
Open stack HA -  Theory to RealityOpen stack HA -  Theory to Reality
Open stack HA - Theory to RealitySriram Subramanian
 
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming XieRGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming XieCeph Community
 
Introducing Exactly Once Semantics To Apache Kafka
Introducing Exactly Once Semantics To Apache KafkaIntroducing Exactly Once Semantics To Apache Kafka
Introducing Exactly Once Semantics To Apache KafkaApurva Mehta
 

What's hot (20)

Automatic Operation Bot for Ceph - You Ji
Automatic Operation Bot for Ceph - You JiAutomatic Operation Bot for Ceph - You Ji
Automatic Operation Bot for Ceph - You Ji
 
LF_OVS_17_LXC Linux Containers over Open vSwitch
LF_OVS_17_LXC Linux Containers over Open vSwitchLF_OVS_17_LXC Linux Containers over Open vSwitch
LF_OVS_17_LXC Linux Containers over Open vSwitch
 
How Networking works with Data Science
How Networking works with Data Science How Networking works with Data Science
How Networking works with Data Science
 
Control Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring UsControl Your Network ASICs, What Benefits switchdev Can Bring Us
Control Your Network ASICs, What Benefits switchdev Can Bring Us
 
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
(WEB401) Optimizing Your Web Server on AWS | AWS re:Invent 2014
 
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
Salvatore Sanfilippo – How Redis Cluster works, and why - NoSQL matters Barce...
 
Stacking up with OpenStack: Building for High Availability
Stacking up with OpenStack: Building for High AvailabilityStacking up with OpenStack: Building for High Availability
Stacking up with OpenStack: Building for High Availability
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
Using SLOs for Continuous Performance Optimizations of Your k8s Workloads
Using SLOs for Continuous Performance Optimizations of Your k8s WorkloadsUsing SLOs for Continuous Performance Optimizations of Your k8s Workloads
Using SLOs for Continuous Performance Optimizations of Your k8s Workloads
 
OVS v OVS-DPDK
OVS v OVS-DPDKOVS v OVS-DPDK
OVS v OVS-DPDK
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
Peter Zaitsev "18 ways to fix MySQL bottlenecks"
Peter Zaitsev "18 ways to fix MySQL bottlenecks"Peter Zaitsev "18 ways to fix MySQL bottlenecks"
Peter Zaitsev "18 ways to fix MySQL bottlenecks"
 
"High-load is at the intersection of DevOps and PHP development",
"High-load is at the intersection of DevOps and PHP development", "High-load is at the intersection of DevOps and PHP development",
"High-load is at the intersection of DevOps and PHP development",
 
Accelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux KernelAccelerating Envoy and Istio with Cilium and the Linux Kernel
Accelerating Envoy and Istio with Cilium and the Linux Kernel
 
LF_OVS_17_State of the OVN
LF_OVS_17_State of the OVNLF_OVS_17_State of the OVN
LF_OVS_17_State of the OVN
 
Open stack HA - Theory to Reality
Open stack HA -  Theory to RealityOpen stack HA -  Theory to Reality
Open stack HA - Theory to Reality
 
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming XieRGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
RGW Beyond Cloud: Live Video Storage with Ceph - Shengjing Zhu, Yiming Xie
 
Zero mq logs
Zero mq logsZero mq logs
Zero mq logs
 
Usenix lisa 2011
Usenix lisa 2011Usenix lisa 2011
Usenix lisa 2011
 
Introducing Exactly Once Semantics To Apache Kafka
Introducing Exactly Once Semantics To Apache KafkaIntroducing Exactly Once Semantics To Apache Kafka
Introducing Exactly Once Semantics To Apache Kafka
 

Viewers also liked

Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
 Build High-Performance, Scalable, Distributed Applications with Stacks of Co... Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
Build High-Performance, Scalable, Distributed Applications with Stacks of Co...Yandex
 
Keeping your rack cool
Keeping your rack cool Keeping your rack cool
Keeping your rack cool Pavel Odintsov
 
Антон Киршанов — Особенности архитектуры Single Page Application
Антон Киршанов — Особенности архитектуры Single Page Application Антон Киршанов — Особенности архитектуры Single Page Application
Антон Киршанов — Особенности архитектуры Single Page Application Yandex
 
Kernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVSKernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVSDocker, Inc.
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep DiveDocker, Inc.
 
Searching higher up the funnel
Searching higher up the funnelSearching higher up the funnel
Searching higher up the funnelJono Alderson
 

Viewers also liked (6)

Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
 Build High-Performance, Scalable, Distributed Applications with Stacks of Co... Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
Build High-Performance, Scalable, Distributed Applications with Stacks of Co...
 
Keeping your rack cool
Keeping your rack cool Keeping your rack cool
Keeping your rack cool
 
Антон Киршанов — Особенности архитектуры Single Page Application
Антон Киршанов — Особенности архитектуры Single Page Application Антон Киршанов — Особенности архитектуры Single Page Application
Антон Киршанов — Особенности архитектуры Single Page Application
 
Kernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVSKernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVS
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep Dive
 
Searching higher up the funnel
Searching higher up the funnelSearching higher up the funnel
Searching higher up the funnel
 

Similar to Building a Billion User Load Balancer

Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseDataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseAldrin Piri
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersRaphaël PINSON
 
Apache NiFi Crash Course - San Jose Hadoop Summit
Apache NiFi Crash Course - San Jose Hadoop SummitApache NiFi Crash Course - San Jose Hadoop Summit
Apache NiFi Crash Course - San Jose Hadoop SummitAldrin Piri
 
Cilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPFCilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPFCynthia Thomas
 
Linked Data (in low-resource) Platforms: a mapping for Constrained Applicatio...
Linked Data (in low-resource) Platforms: a mapping for Constrained Applicatio...Linked Data (in low-resource) Platforms: a mapping for Constrained Applicatio...
Linked Data (in low-resource) Platforms: a mapping for Constrained Applicatio...SisInfLab-SWoT @Politecnico di Bari
 
Apache dubbo (incubating) open source present and future
Apache dubbo (incubating) open source present and futureApache dubbo (incubating) open source present and future
Apache dubbo (incubating) open source present and futureHuxing Zhang
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
Designing API: REST | gRPC | GraphQL, which one should you pick? - Cedrick Lu...
Designing API: REST | gRPC | GraphQL, which one should you pick? - Cedrick Lu...Designing API: REST | gRPC | GraphQL, which one should you pick? - Cedrick Lu...
Designing API: REST | gRPC | GraphQL, which one should you pick? - Cedrick Lu...Shift Conference
 
ACIT Mumbai - Open Systems Interconnect
ACIT Mumbai - Open Systems InterconnectACIT Mumbai - Open Systems Interconnect
ACIT Mumbai - Open Systems InterconnectSleek International
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiEvent-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiDataWorks Summit
 
Dan York - Presentation at Emerging Communications Conference & Awards (eComm...
Dan York - Presentation at Emerging Communications Conference & Awards (eComm...Dan York - Presentation at Emerging Communications Conference & Awards (eComm...
Dan York - Presentation at Emerging Communications Conference & Awards (eComm...eCommConf
 
Importance of APIs in the Internet of Things
Importance of APIs in the Internet of ThingsImportance of APIs in the Internet of Things
Importance of APIs in the Internet of ThingsNordic APIs
 
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB ProjectRakuten Group, Inc.
 
Data Structures in and on IPFS
Data Structures in and on IPFSData Structures in and on IPFS
Data Structures in and on IPFSC4Media
 
From Generator to Fiber the Road to Coroutine in PHP
From Generator to Fiber the Road to Coroutine in PHPFrom Generator to Fiber the Road to Coroutine in PHP
From Generator to Fiber the Road to Coroutine in PHPAlbert Chen
 

Similar to Building a Billion User Load Balancer (20)

Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San JoseDataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
Dataflow with Apache NiFi - Apache NiFi Meetup - 2016 Hadoop Summit - San Jose
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
 
Apache NiFi Crash Course Intro
Apache NiFi Crash Course IntroApache NiFi Crash Course Intro
Apache NiFi Crash Course Intro
 
Apache NiFi Crash Course - San Jose Hadoop Summit
Apache NiFi Crash Course - San Jose Hadoop SummitApache NiFi Crash Course - San Jose Hadoop Summit
Apache NiFi Crash Course - San Jose Hadoop Summit
 
Cilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPFCilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPF
 
Linked Data (in low-resource) Platforms: a mapping for Constrained Applicatio...
Linked Data (in low-resource) Platforms: a mapping for Constrained Applicatio...Linked Data (in low-resource) Platforms: a mapping for Constrained Applicatio...
Linked Data (in low-resource) Platforms: a mapping for Constrained Applicatio...
 
Apache dubbo (incubating) open source present and future
Apache dubbo (incubating) open source present and futureApache dubbo (incubating) open source present and future
Apache dubbo (incubating) open source present and future
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
Shift Dev Conf API
Shift Dev Conf APIShift Dev Conf API
Shift Dev Conf API
 
Origins of Serverless
Origins of ServerlessOrigins of Serverless
Origins of Serverless
 
Designing API: REST | gRPC | GraphQL, which one should you pick? - Cedrick Lu...
Designing API: REST | gRPC | GraphQL, which one should you pick? - Cedrick Lu...Designing API: REST | gRPC | GraphQL, which one should you pick? - Cedrick Lu...
Designing API: REST | gRPC | GraphQL, which one should you pick? - Cedrick Lu...
 
ACIT Mumbai - Open Systems Interconnect
ACIT Mumbai - Open Systems InterconnectACIT Mumbai - Open Systems Interconnect
ACIT Mumbai - Open Systems Interconnect
 
ACIT Mumbai - OSI Model
ACIT Mumbai - OSI ModelACIT Mumbai - OSI Model
ACIT Mumbai - OSI Model
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiEvent-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
 
Dan York - Presentation at Emerging Communications Conference & Awards (eComm...
Dan York - Presentation at Emerging Communications Conference & Awards (eComm...Dan York - Presentation at Emerging Communications Conference & Awards (eComm...
Dan York - Presentation at Emerging Communications Conference & Awards (eComm...
 
The API (R) Evolution
The API (R) EvolutionThe API (R) Evolution
The API (R) Evolution
 
Importance of APIs in the Internet of Things
Importance of APIs in the Internet of ThingsImportance of APIs in the Internet of Things
Importance of APIs in the Internet of Things
 
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project
 
Data Structures in and on IPFS
Data Structures in and on IPFSData Structures in and on IPFS
Data Structures in and on IPFS
 
From Generator to Fiber the Road to Coroutine in PHP
From Generator to Fiber the Road to Coroutine in PHPFrom Generator to Fiber the Road to Coroutine in PHP
From Generator to Fiber the Road to Coroutine in PHP
 

Recently uploaded

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 

Recently uploaded (20)

Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 

Building a Billion User Load Balancer