SlideShare a Scribd company logo
1 of 124
How Flipkart
 Scales PHP
   Tips & Tricks
About Flipkart


• Flipkart.com
• India’s largest eCommerce website*
• Millions of requests/day
About Me


• Siddhartha Reddy
• Tech Lead at Flipkart
• Taking care of Search & Browse experience
Today



• Flipkart.com’s Architecture
   • How each component addresses scale
Flipkart.com’s
           Architecture
                                   Session
                        Database
                                    Store



                                   CMS
 Load         Web
Balancer    Server(s)

                                   Search



                        Caches     OMS
What is Scaling?
What is Scaling?


• Handle large amount of traffic
• High availability
• Good response times
How Flipkart Scales
How Flipkart Scales
• Logging and measuring
• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
How Flipkart Scales
How Flipkart Scales
• Logging and measuring
• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
Logging & Measuring
Logging & Measuring
How Flipkart Scales

• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
Traffic
Servers: Chuck Norris Style
Servers: Spartan Style
Horizontal Scaling
Horizontal Scaling


      Traffic




   web-1       web-2   ...   web-n
Horizontal Scaling


                    Load-
      Traffic       balancer




   web-1       web-2          ...   web-n
Horizontal Scaling


                    Load-
      Traffic       balancer




   web-1       web-2          ...   web-n
Horizontal Scaling


                    Load-
      Traffic       balancer




   web-1       web-2          ...   web-n
Horizontal Scaling


                    Load-
      Traffic       balancer




   web-1       web-2          ...   web-n
Horizontal Scaling


                    Load-
      Traffic       balancer




   web-1       web-2          ...   web-n
How Flipkart Scales

• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
Load Balancer
Load Balancer


• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
Load Balancer


• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
Load Balancer
• Internal binary services (Apache Thrift)
   • Software: HAProxy
   • Transport layer (TCP) load balancer
   • TCP connect for availability check
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
Load Balancer


• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
Load Balancer
• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
    • Software: Varnish
    • Application Layer (HTTP) load balancer
    • Configurable/scriptable caching
    • HTTP GET for availability check
• External web traffic (HTTP/HTTPS)
Load Balancer


• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
Load Balancer
• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
    • Software: Nginx
    • Application Layer (HTTP/HTTPS) load balancer
    • Caches and serves static content (JS/images)
    • HTTP GET for availability check
Load Balancer:
Session Affinity?

               Load-
              balancer




                         ...   web-n
  web-1   web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                         Load-
                        balancer




                                   ...   web-n
  web-1             web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                         Load-
                        balancer




                                   ...   web-n
  web-1             web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                         Load-
                        balancer


                                   SID: 123 (1)




                                   ...            web-n
  web-1             web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                         Load-
     SID: 123 (2)       balancer


                                   SID: 123 (1)




                                   ...            web-n
  web-1             web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                         Load-
     SID: 123 (2)       balancer


                                   SID: 123 (1)




                                   ...            web-n
  web-1             web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                           Load-
     SID: 123 (2)         balancer


                                     SID: 123 (1)
                      SID: 123 (2)




                                     ...            web-n
  web-1             web-2
HTTP Load Balancing:
  Session Affinity
HTTP Load Balancing:
    Session Affinity

• (+) Sessions can be stored on the web server

• (+) Different code on different web servers

    • Useful for testing new code on a subset of users

• (-) If any web server goes down, need to migrate sessions

• (-) Not easy to take a web server out-of-rotation
HTTP Load Balancer:
Session Non-affinity
HTTP Load Balancer:
   Session Non-affinity
• Sessions stored in a common session-store
• (+) Easy to manage -- all web servers have identical state
• (+) If a web server goes down -- no problem
• (+) Can take any web server out-of-rotation
• (-) Can’t deploy to a subset of servers for testing
• (-) Central session-store could be slower
HTTP Load Balancer:
Session Some-affinity
HTTP Load Balancer:
 Session Some-affinity


• Sessions sticky to a subset (group) of machines
• Use a common session-store
How Flipkart Scales

• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
Load Balancer:
  Hardware?
Load Balancer:
            Hardware?

• Expensive

• Inflexible to manage

• They run Linux anyway!
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
       balancers



 bond:1            bond:1
(10.3.1.1)        (10.3.1.2)


 bond:0            bond:0
(10.3.0.1)        (10.3.0.2)
Flipkart’s Load-
        balancers



  bond:1            bond:1
 (10.3.1.1)        (10.3.1.2)


  bond:0            bond:0
 (10.3.0.1)        (10.3.0.2)




Active
Flipkart’s Load-
        balancers



  bond:1              bond:1
 (10.3.1.1)          (10.3.1.2)


  bond:0              bond:0
 (10.3.0.1)          (10.3.0.2)




Active           Hot Stand-by
Flipkart’s Load-
        balancers



  bond:1              bond:1
 (10.3.1.1)          (10.3.1.2)


  bond:0              bond:0
 (10.3.0.1)          (10.3.0.2)


 bond:0:0
 (10.3.0.0)


Active           Hot Stand-by
Flipkart’s Load-
        balancers



  bond:1                       bond:1
 (10.3.1.1)                   (10.3.1.2)


  bond:0                       bond:0
              Heartbeat
 (10.3.0.1)                   (10.3.0.2)


 bond:0:0
 (10.3.0.0)


Active                    Hot Stand-by
How Flipkart Scales

• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
On the Web Servers
On the Web Servers


• PHP5
On the Web Servers


• PHP5
• Apache/mod_php
On the Web Servers


• PHP5
• Apache/mod_php
On the Web Servers


• PHP5
• Apache/mod_php
• Apache/mod_fcgid (FastCGI)
On the Web Servers


• PHP5
• Apache/mod_php
• Apache/mod_fcgid (FastCGI)
On the Web Servers

• PHP5
• Apache/mod_php
• Apache/mod_fcgid (FastCGI)
• PHP-FPM
On the Web Servers
• PHP5
• Apache/mod_php
• Apache/mod_fcgid (FastCGI)
• PHP-FPM
    • PHP FastCGI Process Manager
    • Great process management
    • Security
    • Configurability & control
    • Adaptive process spawning (5.3.3RC1+)
On the Web Server:
   fk-w3-agent
On the Web Server:
      fk-w3-agent

• Simple Java “middleware” daemon
On the Web Server:
      fk-w3-agent

• Simple Java “middleware” daemon
• Deployed on each web server
On the Web Server:
      fk-w3-agent

• Simple Java “middleware” daemon
• Deployed on each web server
• Communicates with PHP through local socket
On the Web Server:
      fk-w3-agent

• Simple Java “middleware” daemon
• Deployed on each web server
• Communicates with PHP through local socket
• Hosts pluggable “handlers”
On the Web Server:
      fk-w3-agent

• Simple Java “middleware” daemon
• Deployed on each web server
• Communicates with PHP through local socket
• Hosts pluggable “handlers”
fk-w3-agent: Why?
fk-w3-agent: Why?
• “I wish PHP could ...”
fk-w3-agent: Why?
• “I wish PHP could ...”
• Logging
fk-w3-agent: Why?
• “I wish PHP could ...”
• Logging
• Connection pools
fk-w3-agent: Why?
• “I wish PHP could ...”
• Logging
• Connection pools
• Parallelization
fk-w3-agent: Why?
• “I wish PHP could ...”
• Logging
• Connection pools
• Parallelization
• Config & discovery
fk-w3-agent: Why?
• “I wish PHP could ...”
• Logging
• Connection pools
• Parallelization
• Config & discovery
• Running statistics
fk-w3-agent: Logging
fk-w3-agent: Logging
• We like to log, a lot
fk-w3-agent: Logging
• We like to log, a lot
• Logs need to be flushed to disk
fk-w3-agent: Logging
• We like to log, a lot
• Logs need to be flushed to disk
• PHP resources wasted
    • waiting for disk I/O
    • waiting for lock on log files

    • or logs go missing
fk-w3-agent: Logging
fk-w3-agent: Logging


• PHP processes send logs to fk-w3-agent
• fk-w3-agent writes logs to files
fk-w3-agent:
Connection Pooling
fk-w3-agent:
   Connection Pooling

• Many service calls / request
fk-w3-agent:
   Connection Pooling

• Many service calls / request
• Cost of recreating connections high
fk-w3-agent:
   Connection Pooling

• Many service calls / request
• Cost of recreating connections high
• PHP does not support connection pools*
fk-w3-agent:
Connection Pooling
fk-w3-agent:
   Connection Pooling

• fk-w3-agent maintains persistent connection pools
  to various services
• PHP accesses services by communicating with fk-
  w3-agent
fk-w3-agent:
Parallelization
fk-w3-agent:
        Parallelization


• Service calls can be parallelized
fk-w3-agent:
        Parallelization


• Service calls can be parallelized
• Multi-threading in PHP is ...
fk-w3-agent:
Parallelization
fk-w3-agent:
        Parallelization


• PHP sends request to fk-w3-agent
• fk-w3-agent uses multiple threads to hit services in
  parallel
fk-w3-agent:
Config & Discovery
fk-w3-agent:
    Config & Discovery

• Change config without deployment?
fk-w3-agent:
    Config & Discovery

• Change config without deployment?
• Simple: store config in a database
fk-w3-agent:
    Config & Discovery

• Change config without deployment?
• Simple: store config in a database
• But: reloading config on each request: expensive
fk-w3-agent:
Config & Discovery
fk-w3-agent:
    Config & Discovery

• fk-w3-agent loads config from database
   • Caches it in memory
   • Keeps it up-to-date
• PHP gets config from fk-w3-agent
fk-w3-agent:
Running Statistics
fk-w3-agent:
    Running Statistics

• PHP sends basic stats to fk-w3-agent for every
  request
• fk-w3-agent aggregates these stats
• Used for monitoring
How Flipkart Scales

• Horizontal Scaling
   • Load-balancing
• Web-server optimizations
• Caching
To Cache or not to
     Cache?
To Cache or not to
          Cache?
• “There are only two hard things in Computer
  Science: cache invalidation and naming things”. --
  Tim Bray quoting Phil Karlton
To Cache or not to
          Cache?
• “There are only two hard things in Computer
  Science: cache invalidation and naming things”. --
  Tim Bray quoting Phil Karlton
• “There are only two hard problems in Computer
  Science: cache invalidation, naming things and off-by-1
  errors.”
Caches Invalidation
Caches Invalidation

• Objects updated => Notification Message
Caches Invalidation

• Objects updated => Notification Message
• Remove updated objects from cache
Caches Invalidation

• Objects updated => Notification Message
• Remove updated objects from cache

• Replace updated objects in cache
Caches Invalidation

• Objects updated => Notification Message
• Remove updated objects from cache

• Replace updated objects in cache
• Aggressively populate cold cache
Caches at Flipkart
Caches at Flipkart

• Memcached -- in memory caching
Caches at Flipkart

• Memcached -- in memory caching
• Redis -- persistent store/cache
Caches at Flipkart

• Memcached -- in memory caching
• Redis -- persistent store/cache
• Varnish -- HTTP caching
Caches at Flipkart

• Memcached -- in memory caching
• Redis -- persistent store/cache
• Varnish -- HTTP caching
• fk-w3-agent -- Config caching
Let’s continue the
         discussion

• @sids on Twitter
• siddhartha@flipkart.com
• #phpcloud on irc.freenode.net

More Related Content

What's hot

Project Management Scope Templates for SharePoint
Project Management Scope Templates for SharePointProject Management Scope Templates for SharePoint
Project Management Scope Templates for SharePointToby Elwin
 
Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) :: 한국 카오스엔지니어링 밋업
Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) ::  한국 카오스엔지니어링 밋업Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) ::  한국 카오스엔지니어링 밋업
Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) :: 한국 카오스엔지니어링 밋업Channy Yun
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - CopenhagenClaus Ibsen
 
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Web Services
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecturetyrantbrian
 
AWS PrivateLink - Deep Dive
AWS PrivateLink - Deep DiveAWS PrivateLink - Deep Dive
AWS PrivateLink - Deep DiveEnri Peters
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWSIan Massingham
 
What is Cloud Computing with Amazon Web Services?
What is Cloud Computing with Amazon Web Services?What is Cloud Computing with Amazon Web Services?
What is Cloud Computing with Amazon Web Services?Amazon Web Services
 
Subsystem Framework and Authentication
Subsystem Framework and AuthenticationSubsystem Framework and Authentication
Subsystem Framework and AuthenticationAlfresco Software
 
Overview of AWS by Andy Jassy - SVP, AWS
Overview of AWS by Andy Jassy - SVP, AWSOverview of AWS by Andy Jassy - SVP, AWS
Overview of AWS by Andy Jassy - SVP, AWSAmazon Web Services
 
Primeros pasos con Logstash y Beats
Primeros pasos con Logstash y BeatsPrimeros pasos con Logstash y Beats
Primeros pasos con Logstash y BeatsUllyCarolinneSampaio
 
Implementing zero trust in IBM Cloud Pak for Integration
Implementing zero trust in IBM Cloud Pak for IntegrationImplementing zero trust in IBM Cloud Pak for Integration
Implementing zero trust in IBM Cloud Pak for IntegrationKim Clark
 
AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference Amazon Web Services
 
From Zero to ATO: A Step-by-Step Guide on the DoD Compliance Framework
From Zero to ATO: A Step-by-Step Guide on the DoD Compliance FrameworkFrom Zero to ATO: A Step-by-Step Guide on the DoD Compliance Framework
From Zero to ATO: A Step-by-Step Guide on the DoD Compliance FrameworkAmazon Web Services
 

What's hot (20)

Getting Started with Amazon EC2
Getting Started with Amazon EC2Getting Started with Amazon EC2
Getting Started with Amazon EC2
 
Welcome to the AWS Cloud
Welcome to the AWS CloudWelcome to the AWS Cloud
Welcome to the AWS Cloud
 
Cognito Customer Deep Dive
Cognito Customer Deep DiveCognito Customer Deep Dive
Cognito Customer Deep Dive
 
Project Management Scope Templates for SharePoint
Project Management Scope Templates for SharePointProject Management Scope Templates for SharePoint
Project Management Scope Templates for SharePoint
 
Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) :: 한국 카오스엔지니어링 밋업
Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) ::  한국 카오스엔지니어링 밋업Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) ::  한국 카오스엔지니어링 밋업
Chaos Engineering 시작하기 - 윤석찬 (AWS 테크에반젤리스트) :: 한국 카오스엔지니어링 밋업
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - Copenhagen
 
AWS WAF
AWS WAFAWS WAF
AWS WAF
 
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
Amazon Virtual Private Cloud (VPC): Networking Fundamentals and Connectivity ...
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
AWS PrivateLink - Deep Dive
AWS PrivateLink - Deep DiveAWS PrivateLink - Deep Dive
AWS PrivateLink - Deep Dive
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWS
 
AWS Route53
AWS Route53AWS Route53
AWS Route53
 
What is Cloud Computing with Amazon Web Services?
What is Cloud Computing with Amazon Web Services?What is Cloud Computing with Amazon Web Services?
What is Cloud Computing with Amazon Web Services?
 
Subsystem Framework and Authentication
Subsystem Framework and AuthenticationSubsystem Framework and Authentication
Subsystem Framework and Authentication
 
Overview of AWS by Andy Jassy - SVP, AWS
Overview of AWS by Andy Jassy - SVP, AWSOverview of AWS by Andy Jassy - SVP, AWS
Overview of AWS by Andy Jassy - SVP, AWS
 
Primeros pasos con Logstash y Beats
Primeros pasos con Logstash y BeatsPrimeros pasos con Logstash y Beats
Primeros pasos con Logstash y Beats
 
AWS AppFlow
AWS AppFlowAWS AppFlow
AWS AppFlow
 
Implementing zero trust in IBM Cloud Pak for Integration
Implementing zero trust in IBM Cloud Pak for IntegrationImplementing zero trust in IBM Cloud Pak for Integration
Implementing zero trust in IBM Cloud Pak for Integration
 
AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference
 
From Zero to ATO: A Step-by-Step Guide on the DoD Compliance Framework
From Zero to ATO: A Step-by-Step Guide on the DoD Compliance FrameworkFrom Zero to ATO: A Step-by-Step Guide on the DoD Compliance Framework
From Zero to ATO: A Step-by-Step Guide on the DoD Compliance Framework
 

Similar to How Flipkart scales PHP

Routage à grande échelle des requêtes via RabbitMQ
Routage à grande échelle des requêtes via RabbitMQRoutage à grande échelle des requêtes via RabbitMQ
Routage à grande échelle des requêtes via RabbitMQScaleway
 
tc server - vfabric hyperic
tc server - vfabric hyperictc server - vfabric hyperic
tc server - vfabric hypericNadia Boumaza
 
Rethinking State Management in Cloud-Native Streaming Systems
Rethinking State Management in Cloud-Native Streaming SystemsRethinking State Management in Cloud-Native Streaming Systems
Rethinking State Management in Cloud-Native Streaming SystemsYingjun Wu
 
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...HostedbyConfluent
 
Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]Fastly
 
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Ontico
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHPJonathan Klein
 
Simplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware AdministratorsSimplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware Administrators5nine
 
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr MalykFwdays
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014Yubei Li
 
Evolving Archetecture
Evolving ArchetectureEvolving Archetecture
Evolving Archetectureleo lapworth
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 SystemsDavid Newman
 
Scaling Systems: Architectures that Grow
Scaling Systems: Architectures that GrowScaling Systems: Architectures that Grow
Scaling Systems: Architectures that GrowGibraltar Software
 
The Load Balancer: War Stories with HAProxy
The Load Balancer: War Stories with HAProxyThe Load Balancer: War Stories with HAProxy
The Load Balancer: War Stories with HAProxyGeoff Ballinger
 
Cassandra and drivers
Cassandra and driversCassandra and drivers
Cassandra and driversBen Bromhead
 

Similar to How Flipkart scales PHP (20)

Routage à grande échelle des requêtes via RabbitMQ
Routage à grande échelle des requêtes via RabbitMQRoutage à grande échelle des requêtes via RabbitMQ
Routage à grande échelle des requêtes via RabbitMQ
 
Demystifying Service Mesh
Demystifying Service MeshDemystifying Service Mesh
Demystifying Service Mesh
 
tc server - vfabric hyperic
tc server - vfabric hyperictc server - vfabric hyperic
tc server - vfabric hyperic
 
Rethinking State Management in Cloud-Native Streaming Systems
Rethinking State Management in Cloud-Native Streaming SystemsRethinking State Management in Cloud-Native Streaming Systems
Rethinking State Management in Cloud-Native Streaming Systems
 
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...
 
Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]
 
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
 
Cdn cs6740
Cdn cs6740Cdn cs6740
Cdn cs6740
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHP
 
Simplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware AdministratorsSimplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware Administrators
 
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014
 
Evolving Archetecture
Evolving ArchetectureEvolving Archetecture
Evolving Archetecture
 
Lattice yapc-slideshare
Lattice yapc-slideshareLattice yapc-slideshare
Lattice yapc-slideshare
 
Istio presentation jhug
Istio presentation jhugIstio presentation jhug
Istio presentation jhug
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
 
Scaling Systems: Architectures that Grow
Scaling Systems: Architectures that GrowScaling Systems: Architectures that Grow
Scaling Systems: Architectures that Grow
 
Scalable Web Apps
Scalable Web AppsScalable Web Apps
Scalable Web Apps
 
The Load Balancer: War Stories with HAProxy
The Load Balancer: War Stories with HAProxyThe Load Balancer: War Stories with HAProxy
The Load Balancer: War Stories with HAProxy
 
Cassandra and drivers
Cassandra and driversCassandra and drivers
Cassandra and drivers
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
🐬 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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

How Flipkart scales PHP

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n