+1

Cách tăng tốc trang web của bạn với Azure CDN

CDN là gì?

Mạng phân phối nội dung (CDN) giúp bạn phân phối nội dung nhanh hơn. Bạn có thể phục vụ bất kỳ loại nội dung nào không thay đổi trong một khoảng thời gian, như hình ảnh, video, CSS, JavaScript, tệp HTML, PDF, v.v.

CDN là một nhóm máy chủ được phân bổ trên toàn thế giới để phân phối nội dung từ các máy chủ Edge . Máy chủ Edge là máy chủ được đặt gần nhất với nơi yêu cầu được thực hiện.

Tùy thuộc vào yêu cầu, máy chủ biên có thể trả về nội dung từ bộ nhớ đệm của nó hoặc có thể lấy nội dung từ Máy chủ gốc. Các máy chủ phục vụ nội dung thực tế được gọi là máy chủ gốc.

image.png

Trong hình ảnh trên, các Máy chủ Edge nằm trên khắp thế giới và Máy chủ gốc nằm ở California, Hoa Kỳ. Khi có yêu cầu, Máy chủ Edge nằm ở Mumbai, Ấn Độ có thể liên hệ với Máy chủ gốc nếu không thể phục vụ nội dung.

CDN hoạt động như thế nào?

CDN có bốn phần chính: Máy chủ tiêu dùng, Máy chủ DNS , Máy chủ biên và Máy chủ gốc. image.png

Khi người dùng đưa ra yêu cầu, trước tiên nhà cung cấp dịch vụ Internet (ISP) sẽ chấp nhận yêu cầu đó. Sau đó, ISP sẽ truy cập vào DNS có thẩm quyền của nhà cung cấp nội dung .

DNS có thẩm quyền sẽ chuyển đổi yêu cầu DNS thành yêu cầu IP.

Khi DNS có thẩm quyền được tạo, nó sẽ trả về địa chỉ IP của Edge Server gần nhất. Sau đó, Edge Server sẽ kiểm tra trong bộ nhớ đệm của riêng nó để xem nội dung được yêu cầu có khả dụng hay không.

Nếu có, nó sẽ trả về nội dung. Nếu nội dung không có sẵn, nó sẽ yêu cầu nội dung từ máy chủ gốc và khi truy xuất sẽ lưu vào bộ nhớ đệm.

Lợi ích của CDN

1. Tiêu thụ băng thông thấp

Nhiều máy chủ web có giới hạn băng thông mỗi tháng. Nếu bạn vượt quá giới hạn này, bạn sẽ phải trả thêm phí.

Với CDN, bạn sẽ tiết kiệm được phần lớn băng thông vì nội dung sẽ được phục vụ bởi các máy chủ biên.

2. Độ trễ thấp

Máy chủ Edge lưu trữ nội dung. Vì vậy, bất cứ khi nào nội dung được lưu trữ được yêu cầu, độ trễ sẽ giảm đáng kể. Điều này là do yêu cầu không đi hết đến máy chủ gốc.

3. Bảo mật chống lại DDoS

Hầu hết các CDN phổ biến đều có khả năng bảo vệ máy chủ web của bạn khỏi các cuộc tấn công từ chối dịch vụ phân tán (DDos).

4. Cải thiện SEO

Thời gian tải là một trong những yếu tố có thể ảnh hưởng đến thứ hạng SEO của trang web của bạn. Nếu bạn đang cung cấp hầu hết nội dung của mình thông qua CDN, thời gian tải sẽ giảm đáng kể và có thể giúp cải thiện SEO của bạn.

Đi sâu vào Azure CDN

Giả sử bạn đã tạo Tài khoản lưu trữ Azure và lưu trữ một trang web rất đơn giản hiển thị Hello World dưới dạng H1. Bây giờ bạn đã biết những lợi ích của CDN, bạn muốn phục vụ trang web đơn giản của mình qua CDN.

Đăng nhập vào Cổng thông tin Azure của bạn và nhấp vào Tạo tài nguyên từ bảng điều khiển của bạn. Tìm kiếm CDN sẽ mở tài nguyên trong thị trường như bên dưới. image.png

Thao tác này sẽ mở ra một biểu mẫu để tạo hồ sơ CDN. Hồ sơ CDN là một tập hợp các điểm cuối CDN. Không có nhiều thông tin để điền vào đây ngoại trừ tên, nhóm tài nguyên và mức giá.

Tiếp theo, chọn hộp kiểm để tạo điểm cuối CDN. Điểm cuối là nơi Consumer sẽ yêu cầu nội dung. Vì vậy, nếu bạn có nhiều trang web, bạn cũng có thể tạo nhiều điểm cuối khác nhau.

Tôi đã đính kèm ảnh chụp màn hình để bạn tham khảo về các giá trị cần nhập. Vì CDN là dịch vụ toàn cầu nên việc lựa chọn khu vực sẽ bị vô hiệu hóa.

image.png

Bây giờ bạn có thể nhấp vào Create để tạo hồ sơ và điểm cuối. Sẽ mất vài phút để tạo. Sau khi tạo xong và khi bạn vào màn hình chính, bạn sẽ có 4 tài nguyên sau: image.png

Như đã thảo luận trước đó, Hồ sơ CDN là một nhóm các Điểm cuối . Để xem chi tiết, hãy nhấp vào tài nguyên Điểm cuối . Bạn sẽ thấy tổng quan có liên kết đến tên máy chủ Điểm cuối .

Khi bạn mở tên máy chủ điểm cuối, ban đầu có thể hiển thị "404 not found". Bạn có thể phải đợi thêm 10-15 phút nữa trước khi trang web thực tế của bạn hiển thị.

Như đã thảo luận trong phần lợi ích , bạn có thể cấu hình Điểm cuối cho bảo mật, bộ nhớ đệm, định tuyến và nhiều thứ khác.

Cách truy cập thông qua SAS Token

Bạn có thể tự hỏi nếu tài nguyên của tôi nằm trong một vùng chứa riêng tư và chỉ có thể truy cập thông qua Mã thông báo chữ ký truy cập chung (SAS). Vâng, bạn thật may mắn! Các chuỗi truy vấn được truyền như hiện tại và vì SAS là chuỗi truy vấn nên bạn ổn.

Tiếp tục và tạo một tài khoản lưu trữ mới (với trang web tĩnh bị vô hiệu hóa). Thêm một Điểm cuối mới trong hồ sơ CDN trỏ đến tài khoản lưu trữ mới được tạo.

Với mục đích demo, tôi đã tạo một container có tên là site với cấp độ truy cập riêng tư và tải lên một Blob có tên là Photo.jpeg trong Tài khoản lưu trữ có URL https://demostorageaccountarjav.blob.core.windows.net .

Tất nhiên bạn có thể lấy mã thông báo SAS trực tiếp từ cổng thông tin Azure để thử nghiệm, nhưng đó không phải là cách bạn thường làm trong thế giới thực. Để làm được điều đó, hãy tìm bên dưới một đoạn mã đơn giản để tạo mã thông báo SAS trong Node.js.

const azureSasToken = require('azure-sas-token');

// default token validity is 7 days
let sasToken = azureSasToken.createSharedAccessToken('https://<service namespace>.servicebus.windows.net/<topic name or queue>',
                                '<signature key name>',
                                '<signature hash>');
console.log(`sasToken: ${sasToken}`);

// Specify your own validity in secs, two hours in this example
sasToken = azureSasToken.createSharedAccessToken('https://<service namespace>.servicebus.windows.net/<topic name or queue>',
                                '<signature key name>',
                                '<signature hash>', 
                                60 * 60 * 2);
console.log(`sasToken: ${sasToken}`);

Chúng tôi đã sử dụng một gói npm đơn giản có tên là azure-sas-token . Sau khi SAS được tạo, URL của bạn sẽ trông giống như sau:

https://demostorageaccountarjav.blob.core.windows.net/site/Photo.jpeg?sp=r&st=2021-03-25T07:28:45Z&se=2022-02-02T15:28:45Z&spr=https&sv=2020-02-10&sr=b&sig=PD4HlRI8bDEirMevpYQgpx6drwh%2BE5EpILfXkQOMlvw%3D

URL ở trên đang trỏ trực tiếp đến tài khoản lưu trữ. Vì vậy, hãy tiếp tục và thay đổi nguồn gốc để sử dụng điểm cuối nguồn gốc.

https://demowebsitearjav.azureedge.net/site/Photo.jpeg?sp=r&st=2021-03-25T07:28:45Z&se=2022-02-02T15:28:45Z&spr=https&sv=2020-02-10&sr=b&sig=PD4HlRI8bDEirMevpYQgpx6drwh%2BE5EpILfXkQOMlvw%3D

Khi bạn truy cập trang web này, bạn sẽ có thể xem tài nguyên được bảo vệ thông qua CDN.

Phần kết luận

Theo tôi, mọi người nên sử dụng Mạng phân phối nội dung CDN. Có rất nhiều nhà cung cấp CDN khác vô cùng chất lượng như Cloudflare, S3, v.v. nhưng Microsoft là một trong những công ty lớn đang nổi lên với nhiều dịch vụ đa dạng.

Nếu bạn là người hâm mộ Azure như tôi, bạn chắc chắn nên thử sử dụng Azure CDN xem sao nhé, chắc chắn nó sẽ khiến bạn hài lòng đấy. Cảm ơn các bạn đã theo dõi bài viết.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí