-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Downside of Round-Robin load balancing, and cache-awareness #10
Comments
Hi @metalalive =) sure, I'll try to provide my reasoning behind that sentence:
Your understanding seems right to me :)! The main idea is to serve fast, save bandwidth, save storage, avoid extra hops, etc. Think about a CDN, with However, if you have hugely popular content with millions of users the figure1The graph bellow shows that I believe that everything comes down to acting differently depending on the circumstance; trying to offer fast access to popular content for and unpopular content demands various tactics. Given that the resources (storage, RAM, network, etc.) are limited and that content is not consumed linearly, finding a single balancing policy solution that meets all requirements is challenging, if not impossible. flowchart LR
A[Alice] -->|Get /video.mp4| RR{RR}
RR -->|Sends Alices to| S1{Server1}
B[Bob] -->|Get /video.mp4| RR
RR -->|Sends Bob to| S2{Server2}
C[Carol] -->|Get /video.mp4| RR
RR -->|Sends Carol to| S3{Server3}
S1 -->|Fetches from origin| O{Origin}
S2 -->|Fetches from origin| O{Origin}
S3 -->|Fetches from origin| O{Origin}
vs flowchart LR
A[Alice] -->|Get /video.mp4| RR{Caching-aware}
RR -->|Sends Alices to| S1{Server1}
B[Bob] -->|Get /video.mp4| RR
RR -->|Sends Bob to| S1
C[Carol] -->|Get /video1.mp4| RR
RR -->|Sends Carol to| S1
D[Dave] -->|Get /video2.mp4| RR
RR -->|Sends Dave to| S2{Server2}
S1 -->|Fetches from origin| O{Origin}
S2 -->|Fetches from origin| O{Origin}
|
Can I view the blocks
|
All the drawing/graphics used were just to demonstrate abstract concepts. In reality a user request might follow:
|
Yes, in reality the PoP load balancing will do things more intelligently , thanks for explaining |
Hi, could you please explain how cache-awareness leads to the downside of Round-Robin load balancing ?
According to
round-robin
part of the article :Here is my understanding, when multiple clients ask for uncached content, the latency of the concurrent client requests comes from coalescing (the Nginx directive
proxy_cache_lock
) , only one request passed to upstream server, all other client requests simply wait until the fresh content is cached. It is probably not related to Round-Robin load balancing ?thanks for the reply.
The text was updated successfully, but these errors were encountered: