Khám phá cách tận dụng edge function ở frontend để định tuyến địa lý mạnh mẽ. Hướng dẫn toàn diện này bao gồm phân phối yêu cầu dựa trên vị trí để nâng cao hiệu suất, tuân thủ dữ liệu và bản địa hóa nội dung trên quy mô toàn cầu.
Định tuyến địa lý bằng Edge Function ở Frontend: Hướng dẫn Phân phối Yêu cầu dựa trên Vị trí
Trong thế giới kết nối ngày nay, việc xây dựng ứng dụng cho khán giả toàn cầu không còn là một lựa chọn—mà là một điều tất yếu. Tuy nhiên, một cơ sở người dùng toàn cầu đặt ra một loạt thách thức riêng: Làm thế nào để bạn cung cấp nội dung với độ trễ tối thiểu cho một người dùng ở Tokyo và một người khác ở Berlin? Làm thế nào để bạn tuân thủ các luật về quyền riêng tư dữ liệu khu vực như GDPR ở Châu Âu? Làm thế nào để bạn trình bày nội dung được bản địa hóa, chẳng hạn như tiền tệ và ngôn ngữ, một cách tự nhiên đối với từng người dùng? Câu trả lời nằm ở rìa của mạng lưới.
Chào mừng đến với thế giới của Định tuyến địa lý bằng Edge Function ở Frontend. Mô hình mạnh mẽ này kết hợp việc thực thi với độ trễ thấp của edge functions với sự thông minh của logic dựa trên vị trí để tạo ra trải nghiệm người dùng nhanh hơn, tuân thủ tốt hơn và được cá nhân hóa cao. Bằng cách chặn các yêu cầu ở rìa mạng—vị trí vật lý gần người dùng hơn—các nhà phát triển có thể đưa ra các quyết định định tuyến động trước khi một yêu cầu chạm đến một máy chủ gốc tập trung.
Hướng dẫn toàn diện này sẽ dẫn dắt bạn qua mọi thứ cần biết về định tuyến địa lý ở edge. Chúng ta sẽ khám phá nó là gì, tại sao nó lại là một yếu tố thay đổi cuộc chơi cho phát triển web hiện đại, và làm thế nào bạn có thể triển khai nó. Dù bạn là một kiến trúc sư đang thiết kế một hệ thống toàn cầu, một nhà phát triển đang tối ưu hóa hiệu suất, hay một quản lý sản phẩm đang hướng tới việc cá nhân hóa tốt hơn, bài viết này sẽ cung cấp cho bạn những hiểu biết sâu sắc và kiến thức thực tế để làm chủ việc phân phối yêu cầu dựa trên vị trí.
Định tuyến địa lý là gì?
Về cơ bản, Định tuyến địa lý (hay geo-routing) là thực hành chuyển hướng lưu lượng mạng đến các điểm đến khác nhau dựa trên vị trí địa lý của người dùng yêu cầu. Nó giống như một bộ điều khiển giao thông thông minh cho internet, đảm bảo rằng yêu cầu của mỗi người dùng được gửi đến máy chủ hoặc dịch vụ phù hợp nhất để thực hiện nó.
Các phương pháp truyền thống và Cuộc cách mạng Edge
Trong lịch sử, geo-routing chủ yếu được xử lý ở cấp độ DNS. Một kỹ thuật gọi là GeoDNS sẽ phân giải một tên miền thành các địa chỉ IP khác nhau tùy thuộc vào nơi truy vấn DNS bắt nguồn. Ví dụ, một người dùng ở Châu Á sẽ nhận được địa chỉ IP của một máy chủ ở Singapore, trong khi một người dùng ở Châu Âu sẽ được chuyển hướng đến một máy chủ ở Frankfurt.
Mặc dù hiệu quả trong việc chuyển hướng lưu lượng đến các trung tâm dữ liệu khu vực khác nhau, định tuyến dựa trên DNS có những hạn chế:
- Thiếu độ chi tiết: DNS hoạt động ở cấp độ cao. Nó không thể kiểm tra các header yêu cầu riêng lẻ hoặc đưa ra quyết định dựa trên bất cứ điều gì khác ngoài nguồn của truy vấn DNS.
- Độ trễ do caching: Các bản ghi DNS được lưu vào bộ nhớ đệm rất nhiều trên khắp internet. Các thay đổi có thể mất vài phút hoặc thậm chí vài giờ để lan truyền trên toàn cầu, làm cho nó không phù hợp cho việc định tuyến động, thời gian thực.
- Không chính xác: Vị trí được xác định dựa trên máy chủ phân giải DNS của người dùng, có thể không phản ánh chính xác vị trí thực tế của người dùng (ví dụ: sử dụng DNS công cộng như 8.8.8.8 của Google).
Edge functions cách mạng hóa quy trình này. Thay vì định tuyến ở cấp độ DNS, logic được thực thi trên mỗi yêu cầu HTTP tại một Điểm hiện diện (Point of Presence - PoP) của Mạng phân phối nội dung (CDN). Điều này cung cấp một cách tiếp cận mạnh mẽ và linh hoạt hơn nhiều, cho phép các quyết định thời gian thực, trên từng yêu cầu dựa trên dữ liệu vị trí chính xác do nhà cung cấp cung cấp.
Sức mạnh của Edge: Tại sao Edge Functions là Công cụ Hoàn hảo
Để hiểu tại sao edge functions lại hiệu quả đến vậy, trước tiên bạn phải hiểu về "edge". Edge là một mạng lưới máy chủ toàn cầu được đặt một cách chiến lược trong các trung tâm dữ liệu trên toàn thế giới. Khi một người dùng truy cập trang web của bạn, yêu cầu của họ được xử lý bởi máy chủ gần họ nhất về mặt vật lý, chứ không phải một máy chủ tập trung ở xa.
Edge functions là những đoạn mã nhỏ, không máy chủ (thường là JavaScript/TypeScript) chạy trên mạng lưới này. Đây là lý do tại sao chúng là công cụ lý tưởng cho việc định tuyến địa lý:
1. Độ trễ cực thấp
Vật lý là nút thắt cổ chai cuối cùng trong hiệu suất web. Thời gian để dữ liệu di chuyển qua các lục địa là đáng kể. Bằng cách thực thi logic định tuyến tại nút edge gần nhất, quyết định được đưa ra trong vài mili giây. Điều này có nghĩa là bạn có thể chuyển hướng người dùng, viết lại một yêu cầu đến một backend khu vực, hoặc phục vụ nội dung được bản địa hóa gần như ngay lập tức, mà không phải chịu hình phạt về thời gian di chuyển туда-и-обратно đến máy chủ gốc trước.
2. Kiểm soát chi tiết trên từng yêu cầu
Không giống như DNS, một edge function có thể kiểm tra toàn bộ yêu cầu HTTP đến. Điều này bao gồm headers, cookies, query parameters, và nhiều hơn nữa. Các nền tảng edge hiện đại cũng chèn dữ liệu địa lý đáng tin cậy vào yêu cầu, chẳng hạn như quốc gia, khu vực và thành phố của người dùng. Điều này cho phép các quy tắc cực kỳ chi tiết, chẳng hạn như định tuyến người dùng từ một thành phố cụ thể đến một tính năng beta hoặc chặn lưu lượng từ một khu vực bị cấm vận.
3. Giảm tải và chi phí cho máy chủ gốc
Bằng cách xử lý logic định tuyến ở edge, bạn giảm tải đáng kể công việc cho các máy chủ ứng dụng chính của mình. Nếu một yêu cầu có thể được phục vụ trực tiếp từ bộ đệm edge, được chuyển hướng hoặc bị chặn ở edge, nó không bao giờ cần tiêu thụ tài nguyên tính toán đắt đỏ của máy chủ gốc. Điều này dẫn đến một kiến trúc linh hoạt, có khả năng mở rộng và hiệu quả về chi phí hơn.
4. Tích hợp liền mạch với các Framework hiện đại
Các nền tảng như Vercel, Netlify và Cloudflare đã tích hợp chặt chẽ edge functions vào quy trình phát triển của họ. Với các framework như Next.js, Nuxt, hoặc SvelteKit, việc triển khai logic edge có thể đơn giản như thêm một tệp `middleware.ts` vào dự án của bạn, giúp các nhà phát triển frontend có thể tiếp cận mà không cần chuyên môn sâu về DevOps.
Cách thức hoạt động của Định tuyến địa lý với Edge Functions: Phân tích từng bước
Hãy theo dõi hành trình của một yêu cầu người dùng để hiểu cơ chế của định tuyến địa lý dựa trên edge.
- Người dùng khởi tạo yêu cầu: Một người dùng ở London, Anh, gõ URL trang web của bạn vào trình duyệt của họ.
- Yêu cầu chạm đến nút Edge gần nhất: Yêu cầu không đi hết quãng đường đến một máy chủ ở Mỹ. Thay vào đó, nó bị chặn bởi Điểm hiện diện (PoP) gần nhất, có thể là ở London.
- Edge Function được gọi: Nền tảng edge phát hiện rằng bạn đã cấu hình một edge function cho đường dẫn này. Mã của function được thực thi ngay lập tức.
- Dữ liệu vị trí được truy cập: Nền tảng tự động cung cấp cho function dữ liệu vị trí của người dùng, thường thông qua các header yêu cầu đặc biệt (ví dụ: `x-vercel-ip-country: 'GB'`, `cf-ipcountry: 'GB'`) hoặc một đối tượng `request.geo`.
- Logic định tuyến được áp dụng: Mã của bạn bây giờ chạy logic của nó. Nó kiểm tra mã quốc gia. Ví dụ:
if (country === 'GB') { ... }
- Hành động được thực hiện: Dựa trên logic, function có thể thực hiện một số hành động:
- Rewrite đến một backend khu vực: Function có thể âm thầm chuyển tiếp yêu cầu đến một máy chủ khác, như `https://api.eu.your-service.com`, mà không thay đổi URL trong trình duyệt của người dùng. Điều này hoàn hảo cho việc tuân thủ lưu trữ dữ liệu.
- Chuyển hướng đến một URL đã bản địa hóa: Function có thể trả về một phản hồi 307 (Chuyển hướng tạm thời) hoặc 308 (Chuyển hướng vĩnh viễn), gửi người dùng đến một phiên bản đã bản địa hóa của trang web, như `https://your-site.co.uk`.
- Sửa đổi phản hồi: Function có thể lấy nội dung gốc từ máy chủ gốc, nhưng sau đó sửa đổi nó ngay lập tức để chèn nội dung, giá cả hoặc chuỗi ngôn ngữ đã bản địa hóa trước khi gửi cho người dùng.
- Chặn yêu cầu: Nếu người dùng đến từ một khu vực bị hạn chế, function có thể trả về một phản hồi 403 (Bị cấm), ngăn chặn hoàn toàn quyền truy cập.
- Phục vụ từ bộ đệm: Nếu một phiên bản đã bản địa hóa của trang đã có trong bộ đệm edge, nó có thể được phục vụ trực tiếp, cung cấp phản hồi nhanh nhất có thể.
Toàn bộ quá trình này diễn ra một cách minh bạch đối với người dùng và chỉ trong một phần nhỏ của một giây, mang lại một trải nghiệm liền mạch và tối ưu hóa.
Các trường hợp sử dụng thực tế và ví dụ quốc tế
Sức mạnh thực sự của định tuyến địa lý được thể hiện rõ trong các ứng dụng thực tế. Hãy khám phá một số trường hợp sử dụng phổ biến và có tác động lớn nhất đối với các doanh nghiệp toàn cầu.
Tình huống 1: Bản địa hóa thương mại điện tử
Thách thức: Một nhà bán lẻ trực tuyến toàn cầu muốn cung cấp trải nghiệm mua sắm được bản địa hóa. Điều này bao gồm việc hiển thị giá bằng tiền tệ địa phương, hiển thị các sản phẩm có liên quan và sử dụng đúng ngôn ngữ.
Giải pháp Edge:
- Một edge function kiểm tra thuộc tính `geo.country` của yêu cầu đến.
- Nếu quốc gia là 'JP' (Nhật Bản), nó sẽ chuyển hướng người dùng từ `mystore.com` đến `mystore.com/jp`.
- Trang `/jp` được render phía máy chủ với giá bằng JPY (¥) và nội dung bằng tiếng Nhật.
- Nếu quốc gia là 'DE' (Đức), function sẽ rewrite yêu cầu đến một phiên bản của trang lấy dữ liệu sản phẩm từ một cơ sở dữ liệu hàng tồn kho ở Châu Âu và hiển thị giá bằng EUR (€). Điều này xảy ra mà không có thay đổi URL rõ ràng, mang lại trải nghiệm mượt mà.
Tình huống 2: Chủ quyền dữ liệu và Tuân thủ GDPR
Thách thức: Một công ty SaaS cung cấp dịch vụ trên toàn cầu nhưng phải tuân thủ Quy định chung về bảo vệ dữ liệu (GDPR) của EU, có các quy tắc nghiêm ngặt về nơi dữ liệu của công dân EU được lưu trữ và xử lý.
Giải pháp Edge:
- Một edge function kiểm tra `geo.country` của mọi yêu cầu API.
- Một danh sách các quốc gia EU được duy trì: `['FR', 'DE', 'ES', 'IE', ...]`.
- Nếu quốc gia của người dùng nằm trong danh sách EU, function sẽ rewrite URL yêu cầu từ `api.mysaas.com` thành `api.eu.mysaas.com` một cách nội bộ.
- Điểm cuối `api.eu.mysaas.com` được lưu trữ trên các máy chủ đặt tại Liên minh Châu Âu (ví dụ: ở Frankfurt hoặc Dublin).
- Các yêu cầu từ tất cả các khu vực khác (ví dụ: 'US', 'CA', 'AU') được định tuyến đến một backend đa dụng được lưu trữ ở Mỹ.
Tình huống 3: Tối ưu hóa hiệu suất cho Game trực tuyến
Thách thức: Một nhà phát triển game trực tuyến nhiều người chơi cần kết nối người chơi với máy chủ game có độ trễ (ping) thấp nhất có thể để đảm bảo lối chơi công bằng và phản hồi nhanh.
Giải pháp Edge:
- Khi client game khởi động, nó thực hiện một yêu cầu "matchmaking" đến một điểm cuối API toàn cầu.
- Một edge function chặn yêu cầu này. Nó xác định vị trí của người dùng (`geo.country` và `geo.region`).
- Function duy trì một bản đồ các khu vực địa lý tới địa chỉ IP của các máy chủ game gần nhất: `{'us-east': '1.2.3.4', 'eu-west': '5.6.7.8', 'ap-southeast': '9.10.11.12'}`.
- Function trả lời yêu cầu API với địa chỉ IP của máy chủ game tối ưu.
- Client game sau đó kết nối trực tiếp đến máy chủ đó.
Tình huống 4: Triển khai theo giai đoạn và A/B Testing
Thách thức: Một công ty công nghệ muốn ra mắt một tính năng mới quan trọng nhưng muốn thử nghiệm nó với một nhóm đối tượng nhỏ hơn trước khi phát hành toàn cầu để giảm thiểu rủi ro.
Giải pháp Edge:
- Tính năng mới được triển khai sau một cờ tính năng (feature flag).
- Một edge function kiểm tra cả cookie (để xem người dùng có chọn tham gia không) VÀ vị trí của người dùng.
- Logic được thiết lập để bật tính năng cho tất cả người dùng ở một thị trường cụ thể, rủi ro thấp hơn, chẳng hạn như New Zealand ('NZ'). `if (geo.country === 'NZ') { enableFeature(); }`
- Đối với người dùng bên ngoài New Zealand, phiên bản cũ của trang web được phục vụ.
- Khi sự tự tin vào tính năng tăng lên, nhiều quốc gia hơn được thêm vào danh sách cho phép trong edge function, cho phép một quá trình triển khai dần dần, có kiểm soát.
Hướng dẫn triển khai: Ví dụ ở cấp độ mã nguồn
Lý thuyết thì tuyệt vời, nhưng hãy xem nó trông như thế nào trong thực tế. Chúng ta sẽ sử dụng cú pháp cho Next.js Middleware, chạy trên Vercel's Edge Functions, vì đây là một triển khai rất phổ biến. Các khái niệm có thể dễ dàng chuyển đổi sang các nhà cung cấp khác như Cloudflare Workers hoặc Netlify Edge Functions.
Kịch bản: Chúng ta muốn xây dựng một hệ thống định tuyến:
- Chuyển hướng người dùng Canada (`/`) đến một phiên bản dành riêng cho Canada của trang web (`/ca`).
- Định tuyến âm thầm tất cả người dùng từ Đức và Pháp đến một backend dành riêng cho Châu Âu cho các cuộc gọi API đến `/api/*`.
- Chặn truy cập đối với người dùng từ một quốc gia giả định có mã 'XX'.
Trong dự án Next.js của bạn, bạn sẽ tạo một tệp có tên `middleware.ts` ở cấp độ gốc (hoặc bên trong `src/`).
// src/middleware.ts import { NextRequest, NextResponse } from 'next/server'; // Danh sách này có thể được quản lý trong một file cấu hình riêng hoặc cơ sở dữ liệu edge const EU_COUNTRIES = ['DE', 'FR']; export const config = { // matcher chỉ định các đường dẫn mà middleware này sẽ chạy. matcher: ['/', '/about', '/api/:path*'], }; export function middleware(request: NextRequest) { // 1. Trích xuất dữ liệu địa lý từ yêu cầu. // Đối tượng `geo` được tự động điền bởi Vercel Edge Network. const { geo } = request; const country = geo?.country || 'US'; // Mặc định là 'US' nếu không biết vị trí const pathname = request.nextUrl.pathname; // 2. LOGIC: Chặn truy cập từ một quốc gia cụ thể if (country === 'XX') { // Trả về phản hồi 403 Forbidden. return new NextResponse(null, { status: 403, statusText: "Forbidden" }); } // 3. LOGIC: Chuyển hướng người dùng Canada đến đường dẫn con /ca // Chúng ta kiểm tra để chắc chắn rằng mình chưa ở trên đường dẫn /ca để tránh vòng lặp chuyển hướng. if (country === 'CA' && !pathname.startsWith('/ca')) { const url = request.nextUrl.clone(); url.pathname = `/ca${pathname}`; // Trả về phản hồi 307 Temporary Redirect. return NextResponse.redirect(url); } // 4. LOGIC: Rewrite các yêu cầu API cho người dùng EU đến một backend khu vực if (pathname.startsWith('/api') && EU_COUNTRIES.includes(country)) { const url = new URL(request.url); // Thay đổi hostname để trỏ đến máy chủ gốc dành riêng cho EU. url.hostname = 'api.eu.your-service.com'; console.log(`Rewriting API request for user in ${country} to ${url.hostname}`); // Trả về một rewrite. URL trên trình duyệt của người dùng không thay đổi. return NextResponse.rewrite(url); } // 5. Nếu không có quy tắc nào khớp, cho phép yêu cầu tiếp tục đến trang hoặc API route. return NextResponse.next(); }
Phân tích mã nguồn:
- `config.matcher`: Đây là một tối ưu hóa quan trọng. Nó chỉ thị cho mạng edge chỉ gọi function này cho các đường dẫn cụ thể, tiết kiệm chi phí thực thi cho các tài sản như hình ảnh hoặc tệp CSS.
- `request.geo`: Đối tượng này là nguồn dữ liệu vị trí đáng tin cậy do nền tảng cung cấp. Chúng ta lấy mã `country` và cung cấp một giá trị mặc định hợp lý.
- Logic chặn: Chúng ta chỉ cần trả về một `NextResponse` với trạng thái `403` để chặn yêu cầu ngay tại edge. Máy chủ gốc không bao giờ bị ảnh hưởng.
- Logic chuyển hướng: Chúng ta sử dụng `NextResponse.redirect()`. Điều này gửi một phản hồi 307 trở lại trình duyệt, yêu cầu nó truy cập URL mới (`/ca`). Điều này người dùng có thể thấy được.
- Logic Rewrite: Chúng ta sử dụng `NextResponse.rewrite()`. Đây là hành động mạnh mẽ nhất. Nó chỉ thị cho mạng edge lấy nội dung từ một URL khác (`api.eu.your-service.com`) nhưng phục vụ nó dưới URL gốc (`/api/...`). Điều này hoàn toàn minh bạch đối với người dùng cuối.
Thách thức và Những điều cần cân nhắc
Mặc dù mạnh mẽ, việc triển khai định tuyến địa lý ở edge không phải là không có những phức tạp. Dưới đây là một số yếu tố quan trọng cần xem xét:
1. Độ chính xác của cơ sở dữ liệu GeoIP
Dữ liệu vị trí được lấy từ địa chỉ IP của người dùng bằng cách ánh xạ nó với một cơ sở dữ liệu GeoIP. Các cơ sở dữ liệu này có độ chính xác cao nhưng không phải là không thể sai lầm. Người dùng sử dụng VPN, mạng di động hoặc một số mạng công ty nhất định có thể bị nhận dạng sai. Do đó, bạn nên luôn cung cấp một cách thủ công để người dùng ghi đè vị trí đã phát hiện của họ (ví dụ: một bộ chọn quốc gia ở chân trang web).
2. Sự phức tạp của việc Caching
Nếu bạn phục vụ nội dung khác nhau cho các khu vực khác nhau cho cùng một URL, bạn có nguy cơ một người dùng ở một quốc gia nhìn thấy nội dung được lưu trong bộ đệm dành cho một quốc gia khác. Để ngăn chặn điều này, bạn phải chỉ thị cho CDN lưu vào bộ đệm các phiên bản khác nhau của trang. Điều này thường được thực hiện bằng cách gửi một header `Vary` trong phản hồi. Ví dụ, `Vary: x-vercel-ip-country` yêu cầu CDN tạo một mục bộ đệm riêng cho mỗi quốc gia.
3. Kiểm thử và Gỡ lỗi
Làm thế nào để bạn kiểm tra logic định tuyến cho Đức hoạt động chính xác mà không cần bay đến Đức? Điều này có thể là một thách thức. Các phương pháp bao gồm:
- VPN: Sử dụng VPN để định tuyến lưu lượng của bạn qua một máy chủ ở quốc gia mục tiêu là một cách tiếp cận phổ biến.
- Giả lập nền tảng: Một số nền tảng, như Vercel, cho phép bạn ghi đè dữ liệu `request.geo` cục bộ trong quá trình phát triển để kiểm thử.
- Công cụ nhà phát triển trình duyệt: Một số công cụ nhà phát triển trình duyệt có các tính năng giả mạo vị trí, mặc dù điều này không phải lúc nào cũng ảnh hưởng đến việc phát hiện dựa trên IP ở edge.
4. Các triển khai đặc thù của nhà cung cấp
Khái niệm cốt lõi của định tuyến edge là phổ quát, nhưng chi tiết triển khai khác nhau giữa các nhà cung cấp. Vercel sử dụng `request.geo`, Cloudflare sử dụng các thuộc tính trên đối tượng `request.cf`, v.v. Mặc dù việc di chuyển logic là có thể, hãy lưu ý rằng đó không phải là một thao tác sao chép-dán đơn giản, và có một số mức độ phụ thuộc vào nhà cung cấp.
Tương lai của Edge là Địa lý
Định tuyến địa lý với edge functions không chỉ là một kỹ thuật thông minh; đó là một sự thay đổi cơ bản trong cách chúng ta xây dựng các ứng dụng toàn cầu. Khi các nền tảng edge trở nên mạnh mẽ hơn, chúng ta có thể mong đợi các khả năng tinh vi hơn nữa:
- Cơ sở dữ liệu Edge: Với các sản phẩm như Cloudflare D1 và Vercel KV, chính dữ liệu có thể tồn tại ở edge. Điều này cho phép bạn định tuyến yêu cầu của người dùng đến edge function gần nhất, sau đó có thể đọc và ghi dữ liệu từ một cơ sở dữ liệu ở cùng một vị trí vật lý, đạt được các truy vấn cơ sở dữ liệu trong vài mili giây.
- Tích hợp sâu hơn: Mong đợi sự kết hợp chặt chẽ hơn nữa giữa các framework frontend và khả năng của edge, loại bỏ nhiều sự phức tạp hơn và biến việc phát triển ưu tiên toàn cầu trở thành mặc định.
- Cá nhân hóa nâng cao: Ngoài quốc gia, các quyết định định tuyến sẽ được đưa ra dựa trên nhiều yếu tố hơn có sẵn ở edge, chẳng hạn như loại thiết bị, tốc độ kết nối và thậm chí cả thời gian trong ngày, để cung cấp trải nghiệm siêu cá nhân hóa.
Kết luận: Xây dựng cho Thế giới, từ Edge
Định tuyến địa lý bằng edge function ở frontend trao quyền cho các nhà phát triển giải quyết một số thách thức phức tạp nhất của việc xây dựng cho khán giả toàn cầu. Bằng cách chuyển logic dựa trên vị trí từ các máy chủ tập trung sang một mạng lưới edge phân tán, chúng ta có thể xây dựng các ứng dụng không chỉ nhanh hơn mà còn tuân thủ tốt hơn, linh hoạt hơn và được cá nhân hóa sâu sắc.
Khả năng rewrite, chuyển hướng và sửa đổi các yêu cầu dựa trên vị trí của người dùng, tất cả với độ trễ tối thiểu, mở ra một cấp độ trải nghiệm người dùng mới. Từ việc tôn trọng chủ quyền dữ liệu bằng cách định tuyến dữ liệu thông minh đến việc làm hài lòng người dùng với nội dung được bản địa hóa, các khả năng là vô cùng lớn. Khi bạn thiết kế ứng dụng tiếp theo của mình, đừng chỉ nghĩ về nơi lưu trữ máy chủ của bạn; hãy nghĩ về cách bạn có thể tận dụng mạng lưới edge toàn cầu để gặp gỡ người dùng của bạn ngay tại nơi họ đang ở.