Trong thời đại hội nhập ngày nay, các doanh nghiệp đang mở rộng quy mô toàn cầu và sử dụng Internet như một công cụ để tăng trưởng. Tuy nhiên, Internet ban đầu được thiết kế để kết nối chứ không chú trọng đến hiệu suất, vì vậy nó sẽ ảnh hưởng trực tiếp đến các doanh nghiệp. Khi số lượng người dùng trực tuyến tăng lên, mạng Internet có thể bị quá tải, làm chậm hoặc gián đoạn các giao dịch trực tuyến. Những gián đoạn này sẽ ảnh hưởng đến trải nghiệm của người dùng cuối – một tham số quan trọng quyết định sự thành công của doanh nghiệp. Do đó, cần phải phát triển một hệ thống để giải quyết sự mong đợi ngày càng tăng từ người dùng. Các cơ chế định tuyến lưu lượng đã được xây dựng nhằm đáp ứng những nhu cầu trên. Đó là những kỹ thuật đơn giản nhưng rất mạnh mẽ có thể định tuyến lưu lượng DNS một cách hiệu quả để giải quyết một số sự cố, cung cấp khả năng chuyển đổi dự phòng, cân bằng tải lưu lượng trên nhiều tài nguyên và thậm chí tính đến vị trí bắt nguồn truy vấn.
Dưới đây là những khung (frameworks) chứa các quy tắc giúp phản hồi các yêu cầu DNS.
1. Chuyển đổi dự phòng (Failover) Failover cho phép ưu tiên thứ tự các địa điểm mà chúng ta muốn điều hướng lưu lượng DNS. Ví dụ: bạn có máy chủ chính và phụ nằm ở 2 khu vực khác nhau. Trong cơ chế Failover, tất cả lưu lượng DNS sẽ được chuyển tiếp hoặc định tuyến đến máy chủ chính nhưng vì lý do nào đó, máy chủ chính bị lỗi hoặc không phản hồi, Failover sẽ tự động điều hướng lưu lượng DNS đến máy chủ phụ (hoặc dự phòng).
2. Cân bằng tải (Load Balancer) Load Balancer cho phép phân phối lưu lượng DNS trên nhiều điểm cuối. Các điểm này có thể được gán các trọng số bằng nhau để phân phối lưu lượng đồng đều trên nhiều điểm cuối (round-robin) hoặc có thể chỉ định các trọng số tùy chỉnh để cân bằng tải theo tỷ lệ (weighted round-robin). Ví dụ: 80% lưu lượng DNS được chuyển hướng đến máy chủ tại chỗ của bạn, trong khi 20% được chuyển hướng đến đám mây công cộng (Public Cloud).
3. Định tuyến định vị địa lý (Geolocation Steering) Geolocation Steering phân phối lưu lượng DNS đến các điểm cuối khác nhau dựa trên vị trí địa lý của người dùng cuối (nguồn của truy vấn). Khách hàng có thể chỉ định một hoặc nhiều điểm cuối cụ thể cho người dùng cuối (end-user) tại một địa điểm được xác định (ví dụ: lục địa, quốc gia hoặc tiểu bang/tỉnh). Ví dụ: tất cả các yêu cầu từ end-user có nguồn gốc từ Hoa Kỳ và Canada được định tuyến đến máy chủ Bắc Mỹ (hoặc nhóm máy chủ), các yêu cầu có nguồn gốc từ Châu Á được định tuyến đến máy chủ Singapore, trong khi các yêu cầu có nguồn gốc từ phần còn lại của thế giới được định tuyến đến máy chủ Bắc Mỹ.
4. Định tuyến ASN (ASN Steering) ASN Steering là cơ chế định tuyến lưu lượng DNS dựa trên Số hiệu mạng (ASN). Các truy vấn DNS bắt nguồn từ một ASN cụ thể hoặc tập hợp các ASN được điều hướng đến một điểm cuối (endpoint) chỉ định.
5. Định tuyến tiền tố ISP (ISP Prefix Steering) ISP Prefix Steering cho phép khách hàng điều hướng lưu lượng DNS dựa trên nhà cung cấp ISP ưa thích.
6. Định tuyến mạng IP (IP Network Steering) IP Network Steering cho phép khách hàng điều hướng lưu lượng DNS dựa trên tiền tố IP của truy vấn ban đầu.
Hầu hết việc quản lý lưu lượng DNS ngày nay đều dựa trên cân bằng tải (Load balancing) và khoảng cách địa lý của end-user với endpoint. Tuy nhiên, chỉ phân phối theo cân bằng tải và khoảng cách địa lý (tức là định tuyến DNS tĩnh) không phải lúc nào cũng mang lại hiệu suất tốt hơn. Trên thực tế, các thông số hiệu suất như độ trễ, tính khả dụng, băng thông, v.v. không được tính đến trong định tuyến DNS tĩnh. Với sự phức tạp của Internet, định tuyến DNS tĩnh sẽ không thể cung cấp các quyết định điều hướng tốt nhất.
Với số lượng và kỳ vọng của người dùng ngày càng tăng, việc xem xét hiệu suất trở nên quan trọng hơn. Định tuyến DNS tĩnh sẽ không còn đủ sức mạnh nữa. Mặc dù “bình thường” các phương pháp điều tiết lưu lượng tĩnh như cân bằng tải và định vị địa lý vẫn có thể hiệu quả, nhưng “bình thường” ở đây là trong ngữ cảnh hàng trăm triệu truy vấn DNS có thể chuyển thành hàng trăm nghìn giao dịch dưới mức tối ưu. Từ góc độ kinh doanh, việc bỏ qua các yếu tố hiệu suất chắc chắn sẽ gây ra những hậu quả xấu đối với trải nghiệm người dùng, điều này có thể dẫn đến mất doanh thu hoặc tệ hơn là dẫn đến sự đi xuống của doanh nghiệp.
Do đó, nên sử dụng các chỉ số hiệu suất trong việc quyết định hoặc định tuyến lưu lượng DNS và được gọi là "cơ chế định tuyến dựa trên hiệu suất". Cơ chế này chỉ ra bản chất động và phức tạp của Internet, đồng thời đảm bảo rằng tất cả các truy vấn DNS có thể điều hướng lưu lượng truy cập với định tuyến nhanh và đáng tin cậy nhất. Qua đây, trải nghiệm người dùng sẽ được cải thiện và dẫn đến kinh doanh thành công.
Có nhiều chỉ số có thể được sử dụng trong cơ chế định tuyến lưu lượng dựa trên hiệu suất. Đó là: tính khả dụng (availability), độ tin cậy (reliability), độ trễ (latency), băng thông (throughput), mất gói dữ liệu (packet loss) và jitter. Mỗi chỉ số hiệu suất này hay sự kết hợp của chúng có thể được sử dụng làm cơ sở để định tuyến lưu lượng DNS nhằm đáp ứng các mục tiêu kinh doanh cụ thể.
1. Khả dụng (Availability) Tính khả dụng được định nghĩa là thời gian máy chủ hoặc mạng hoạt động trong một khoảng thời gian nhất định. Tính khả dụng của mạng được đo dưới dạng phần trăm và được giám sát để đảm bảo dịch vụ được cung cấp liên tục cho người dùng cuối (end-users). Tỷ lệ phần trăm này thường được thể hiện dưới dạng "nines". Đây là một chỉ số quan trọng đối với end-users vì nó đánh giá độ khỏe và hiệu suất của mạng, vì vậy đó là lý do tại sao tính khả dụng nên được coi là ưu tiên. Theo tiêu chuẩn, một mạng khỏe được coi là có tính khả dụng cao (thời gian hoạt động) với giá trị hơn 99%.
2. Độ tin cậy (Reliability) Độ tin cậy là chỉ số đo lường khả năng máy chủ hoặc hệ thống có thể gặp sự cố (tức là thời gian ngừng hoạt động) trong một khoảng thời gian. Độ tin cậy thường được biểu thị bằng thời gian trung bình giữa các lần sự cố hoặc MTBF, là tổng thời gian máy chủ “đang hoạt động” chia cho số lần xảy ra lỗi. Đôi khi, tỷ lệ thất bại cũng có thể được sử dụng, tỷ lệ này là nghịch đảo của MTBF (tức là số lần thất bại chia cho tổng thời gian hoạt động). Độ tin cậy về cơ bản là theo dõi thời gian máy chủ hoặc cơ sở hạ tầng mạng hoạt động mà không bị gián đoạn.
3. Độ trễ (Latency) Độ trễ đo lường thời gian tối thiểu mà dữ liệu đi từ nguồn yêu cầu đến đích mong muốn trên mạng rồi quay lại. Nó được gọi là thời gian trễ trọn vòng (RTT) và thường được đo bằng mili giây (ms). Nói chung, độ trễ trong một trung tâm dữ liệu được đo bằng micro giây nhưng giữa các địa điểm được đo bằng hàng chục mili giây. Độ trễ (cùng với băng thông) về cơ bản là tốc độ của mạng. Do đó, nó có tác động trực tiếp đến hiệu suất của mạng. Khi khoảng cách càng xa thì RTT càng cao và (nếu kết hợp với băng thông thấp) sẽ dẫn đến tắc nghẽn mạng. Các sản phẩm nén và tăng tốc mạng WAN đôi khi hữu ích, nhưng trong một số trường hợp, chúng lại làm tăng độ trễ thay vì giảm. Cách tối ưu nhất để giảm độ trễ là giảm khoảng cách giữa các kênh giao tiếp. Bộ nhớ đệm cũng hoạt động tốt, nhưng chủ yếu là với nội dung tĩnh.
4. Băng thông (Throughput) Băng thông là tốc độ gửi/xử lý tin nhắn hoặc dữ liệu thành công qua một kênh liên lạc. Nó thường được đo bằng bit trên giây (bit/s hoặc bps), hoặc gói dữ liệu trên giây (p/s hoặc pps). Băng thông về cơ bản là mức tiêu thụ băng thông kỹ thuật số. Các ứng dụng có yêu cầu băng thông cao như trò chơi trực tuyến, truyền phát video và truyền tệp kích thước lớn.
5. Mất gói dữ liệu (Packet loss) Mất gói dữ liệu xảy ra khi một hoặc nhiều gói dữ liệu đang truyền trên mạng máy tính không đến được đích dự kiến. Mất gói dữ liệu là do lỗi trong quá trình truyền dữ liệu hoặc tắc nghẽn mạng, đôi khi lỗi do con người, định tuyến không hợp lý, thậm chí cả lỗi nguồn điện và phần cứng. Nó được đo bằng tỷ lệ phần trăm số gói dữ liệu bị mất so với tổng số gói dữ liệu được gửi. Giao thức điều khiển truyền vận (TCP) phát hiện mất gói dữ liệu và thực hiện truyền lại để đảm bảo thông điệp đáng tin cậy. Tuy nhiên, nếu mất quá nhiều gói, TCP sẽ hết dung lượng bộ đệm và sẽ ảnh hưởng đến sự ổn định chung của mạng. Đối với các ứng dụng thời gian thực như trò chơi trực tuyến hoặc truyền phát đa phương tiện, mất gói dữ liệu có thể ảnh hưởng nghiêm trọng đến chất lượng trải nghiệm của người dùng (QoE).
6. Jitter Jitter là sự thay đổi về thời gian giữa các gói dữ liệu đến đích của chúng. Những khác biệt về thời gian thường do tắc nghẽn mạng hoặc thay đổi định tuyến, gây thất thường đối với sự ổn định của gói và dẫn đến một số gói bị loại bỏ. Đơn vị đo lường tiêu chuẩn của jitter là mili giây (ms). Đây là một vấn đề lớn đối với truyền thông thời gian thực như VoIP và truyền phát video. Thông thường, nếu jitter nhận cao hơn 20ms, nó có thể làm tăng độ trễ và dẫn đến mất gói dữ liệu, đồng thời sẽ làm giảm chất lượng và hiệu suất. Một số thiết bị mạng được trang bị bộ đệm jitter nhưng cách tốt nhất để khắc phục jitter là chọn đường dẫn ổn định nhất giữa hai điểm cuối.
Các ứng dụng web khác nhau sẽ có các ưu tiên và yêu cầu hiệu suất khác nhau. Tùy thuộc vào loại ứng dụng web, doanh nghiệp có thể quyết định sử dụng một hoặc kết hợp nhiều chỉ số để đưa ra quyết định định tuyến nhằm đáp ứng nhu cầu cụ thể của họ. Mặc dù toàn bộ Internet là động, nhưng thường thì hiệu suất của từng máy chủ và các thành phần khác trong mạng thay đổi theo thời gian. Sẽ rất tốn thời gian để đo lường các chỉ số và thay đổi tuyến đường truyền dữ liệu lặp đi lặp lại một cách thủ công. Để giải quyết vấn đề này, các doanh nghiệp có thể sử dụng định tuyến dữ liệu DNS thông minh.
Định tuyến lưu lượng DNS thông minh, cho phép theo dõi thời gian thực các chỉ số hiệu suất của máy chủ/mạng và tự động áp dụng các chỉ số đó cho các quyết định định tuyến. Nói cách khác, khi người dùng cuối thực hiện truy vấn cho một trang Web cụ thể, hệ thống điều khiển lưu lượng DNS thông minh sẽ tự động cập nhật định tuyến DNS dựa trên dữ liệu hiệu suất thời gian thực tốt nhất. Điều này không chỉ giúp tiết kiệm thời gian cho doanh nghiệp mà quan trọng hơn, nó sẽ tự động cung cấp định tuyến DNS tối ưu nhất tại bất kỳ thời điểm nào, từ đó cải thiện trải nghiệm người dùng.
Giám sát dữ liệu Một thành phần quan trọng của định tuyến lưu lượng DNS thông minh là giám sát dữ liệu theo thời gian thực. Có hai công cụ thường được sử dụng để giám sát dữ liệu thời gian thực: Giám sát người dùng tổng hợp (SUM); và Giám sát người dùng thực (RUM).
Giám sát người dùng tổng hợp - SUM là kỹ thuật giám sát thời gian thực một cách chủ động được thực hiện bằng việc sử dụng các tập lệnh được tạo để mô phỏng một hành động hoặc một đường dẫn – đối với trường hợp lưu lượng DNS. Những đường dẫn đó được theo dõi liên tục trong khoảng thời gian được chỉ định để đánh giá hiệu suất. Vì SUM là một mô phỏng nên sẽ theo dõi các đường dẫn lưu lượng một cách tốt nhất.
Giám sát người dùng thực, hay RUM là kỹ thuật giám sát thời gian thực một cách thụ động, theo dõi lưu lượng DNS được tạo ra bởi người dùng thực tế. RUM sử dụng một đoạn mã được gọi là mã beacon, thường được chèn vào ứng dụng Web và sẽ được kích hoạt để thu thập dữ liệu hiệu suất mỗi khi một người dùng thực tế truy cập trang Web. Vì RUM được khởi tạo bởi người dùng thực nên nó có thể giám sát đường dẫn lưu lượng bắt đầu từ vị trí của người dùng cuối đến điểm đích của nó.
Cả SUM và RUM đều cung cấp các quan điểm khác nhau về hiệu suất và hữu ích cho nhiều mục đích khác nhau. SUM cho phép tạo môi trường thử nghiệm nhất quán bằng cách loại bỏ các biến liên quan đến người dùng. Trong khi đó, RUM thu thập hiệu suất từ sự đa dạng của người dùng cuối, những người thực sự truy cập trang và sử dụng mạng. Cả RUM và SUM đều cung cấp phản hồi về hiệu suất DNS, nhưng chúng khác nhau về lưu lượng mà chúng tạo ra. SUM giúp chẩn đoán và giải quyết các vấn đề về hiệu suất ngắn hạn, trong khi RUM giúp hiểu các xu hướng dài hạn. Mỗi phương pháp đều có những lợi ích và hạn chế riêng, tuy nhiên, việc sử dụng dữ liệu từ cả hai sẽ cho thấy tầm nhìn tốt hơn, cho phép xem xét các loại vấn đề cụ thể và cách giải quyết chúng.
Bài viết liên quan