Home  Tech   How the req ...

How the request routing works in vercel edge network

When a request is sent to a Vercel app, the determination of which edge server should handle the request is primarily managed through DNS-based routing. Here's how the process works in detail!

DNS-Based Routing

  1. Initial DNS Lookup:

    • When a user requests a URL, the browser initiates a DNS lookup to resolve the domain name to an IP address.
    • Vercel uses DNS to direct the request to the optimal edge server based on the user's geographic location and the current load on the servers.
  2. GeoDNS:

    • Vercel employs GeoDNS, a technique where DNS responses are tailored based on the geographic location of the requester.
    • GeoDNS helps ensure that the DNS response points to the closest edge server to the user, minimizing latency.

Edge Network Selection

  1. Anycast Network:

    • Vercel leverages an anycast network configuration, where multiple edge servers share the same IP address.
    • When a request is sent to this IP address, it is automatically routed to the nearest or best-performing server in the anycast group.
  2. Load Balancing:

    • After the DNS resolves to the IP address, the request reaches the edge network, where additional load balancing mechanisms might be in place.
    • Vercel’s infrastructure dynamically balances the load across its edge servers to ensure optimal performance and availability.

Detailed Workflow

  1. User Requests a URL:

    • A user types a URL or clicks a link to access a Vercel-hosted site.
  2. DNS Lookup:

    • The user's device performs a DNS lookup for the domain (e.g., example.vercel.app).
    • The DNS query is routed to Vercel’s DNS servers.
  3. GeoDNS Response:

    • Vercel’s DNS servers analyze the requester's IP address to determine their geographic location.
    • Based on this location, the DNS server responds with an IP address of the nearest edge server or PoP.
  4. Routing to Edge Server:

    • The user’s browser receives the IP address and sends the HTTP request to this address.
    • Due to the anycast configuration, this IP address routes the request to the closest edge server within Vercel’s network.
  5. Edge Server Processing:

    • The edge server handles the request, serving static content directly from the cache if available.
    • If the request requires dynamic content or further processing, it might involve serverless functions or additional backend services.
  6. Response Delivery:

    • The edge server sends the response back to the user, ensuring low latency and fast load times.

Example Scenario

  1. Request from New York:

    • A user in New York requests example.vercel.app.
    • The DNS lookup resolves to an IP address managed by Vercel’s GeoDNS system.
    • The IP address corresponds to an edge server located in New York or the nearest data center.
    • The request is processed and served from this edge server.
  2. Request from Tokyo:

    • Another user in Tokyo requests the same URL.
    • The DNS lookup resolves to an IP address for an edge server in Tokyo.
    • The request is handled by the Tokyo edge server, providing a fast response.

Benefits of This Approach

  1. Low Latency: By directing users to the nearest edge server, Vercel minimizes the distance data travels, reducing latency.
  2. High Availability: The use of an anycast network and load balancing ensures that requests are distributed efficiently, preventing any single server from becoming a bottleneck.
  3. Scalability: Vercel’s distributed infrastructure can handle a large number of concurrent users by leveraging multiple edge servers.
Published on: Jun 16, 2024, 01:05 AM  
 

Comments

Add your comment