CDN vẫn hoạt động ngay cả khi máy chủ của tôi không hoạt động?


10

Tôi là chủ sở hữu trang web có kế hoạch sử dụng S3 trên nền tảng đám mây của Amazon. Tôi đã đọc tất cả những thứ về những gì CDN có thể làm nhưng tôi vẫn có một câu hỏi chưa được trả lời.

CDN vẫn hoạt động ngay cả khi máy chủ chính của tôi không hoạt động. Đó là lý do chính tôi quan tâm đến nó. Bởi vì, máy chủ của tôi thường gặp sự cố mất điện thường xuyên do mất điện ở Mali.


3
Bạn có thể muốn xem xét CloudFlare, một) miễn phí và b) có thể giữ các trang tĩnh của bạn trong thời gian ngừng hoạt động.
ceejayoz

Câu trả lời:


12

Nó sẽ phụ thuộc vào người đang lưu trữ CDN của bạn. Nếu bạn lưu trữ trang web của mình trên một máy chủ và CDN với bên thứ 3 thì có khả năng CDN của bạn sẽ vẫn hoạt động khi trang web của bạn ngừng hoạt động. Tuy nhiên, điều này có thể không đúng, vì một số CDN chỉ phân phối nội dung mà họ có thể xác minh là trên trang web của bạn.

Một lưu ý phụ, CDN không phải để lưu trữ toàn bộ trang web của bạn. Vì vậy, nếu bạn nghĩ rằng bạn có thể sử dụng một cái để thay thế lưu trữ web của bạn hoặc sử dụng nó như một loại kế hoạch chuyển đổi dự phòng, thì bạn đang sủa sai cây.

TL; DR - Bạn sẽ phải hỏi nhà cung cấp CDN của mình.


10

CDN được thiết kế cho khả năng mở rộng và hiệu suất, nhưng không có tính sẵn sàng cao. Tại bất kỳ thời điểm nào, họ có thể yêu cầu quyền truy cập vào các tệp gốc.

Hầu hết mọi người sử dụng chúng để lưu trữ các tệp tĩnh như hình ảnh, tệp css và javascript. Một số có thể được cấu hình để lưu trữ HTML, nhưng chỉ khi bạn có một trang web hoàn toàn tĩnh. Nếu đó là trường hợp, bạn có thể lưu trữ toàn bộ mọi thứ trên S3 và hoàn toàn không cần máy chủ.


5

Nói chung, có, lên đến TTL.

Khi sử dụng CDN, bạn thường định cấu hình TTL (thời gian tồn tại) cho nội dung của mình. Đây là mức tối đa về độ tuổi của bộ đệm có thể nhận được trước khi quyết định hoàn toàn phải làm mới bộ đệm với nội dung mới nhất. Ví dụ: giả sử bạn định cấu hình tất cả các URL * .jpg để có 5 phút TTL.

Sau đó, nếu máy chủ của bạn gặp sự cố, bạn có thêm 5 phút để đưa nó trở lại trước khi người dùng nhận thấy. Vâng, ít nhất là cho .jpg. Chà, ít nhất là đối với .jpg đã xảy ra đã được lưu trữ trước đó.

Ngoài ra, một số CDN sử dụng các tính năng như Akamai NetStorage nơi bạn có thể tải nội dung trực tiếp lên CDN - CDN được cung cấp một số nội dung và được yêu cầu phục vụ trực tiếp trước một ưu tiên. Vì không bao giờ có một bộ nhớ đệm kiểu "kéo" theo yêu cầu đang diễn ra ở đây để bắt đầu, nên điều đó tất nhiên sẽ hoạt động khi máy chủ của bạn không hoạt động.

Như các áp phích khác đã lưu ý, đây không phải là những gì CDN được thiết kế và chúng KHÔNG đảm bảo rằng hành vi này sẽ hoạt động. Nó chỉ xảy ra để thường hoạt động (và thật tuyệt vời khi bạn xem nó xảy ra!). Và tất nhiên để biết chi tiết kỹ thuật cụ thể, bạn phải liên hệ với nhà cung cấp của mình.


5

Có: các máy chủ CDN vẫn sẽ chạy ngay cả khi trang web của bạn không hoạt động, đây là một lựa chọn tốt để xử lý các sự cố ngừng hoạt động lớn. Bạn có một lượng kiểm soát hợp lý đối với những gì xảy ra để bạn có thể điều chỉnh trải nghiệm dựa trên các nguồn lực và ưu tiên của mình. Các tùy chọn thường rơi vào các loại sau:

  1. Các đối tượng đã được cấu hình cho bộ nhớ đệm (phổ biến nhất bằng cách đặt Cache-Controltiêu đề) sẽ có sẵn cho đến khi chúng hết hạn. Một số CDN cung cấp khả năng cho các máy chủ cạnh CDN truy xuất nội dung từ các máy chủ CDN khác, điều này có thể giúp ích trong thời gian ngừng hoạt động cũng như cải thiện hiệu suất khi máy chủ gốc của bạn có độ trễ tương đối cao so với máy chủ CDN.

  2. Một số CDN cung cấp khả năng phục vụ nội dung đã hết hạn khi máy chủ phụ trợ của bạn không khả dụng (ví dụ: Nhanh chóng, bạn có thể bật chế độ ân sủng hoặc thánh của Varnish). Rõ ràng điều này sẽ không giúp ích cho nội dung không bao giờ được lưu trong bộ nhớ cache nhưng trong nhiều trường hợp, nó ít nhất có thể giữ trang chủ cốt lõi của bạn, thông tin liên hệ, v.v. trực tuyến trong khi bạn làm việc để đưa máy chủ của mình trực tuyến trở lại.

  3. Hầu hết các CDN cung cấp khả năng dùng thử nhiều máy chủ phụ trợ để bạn có thể có một trang dự phòng riêng biệt cung cấp trải nghiệm có ý nghĩa cho trang web của bạn: chuyển đổi sang máy chủ khác hoặc trang web chức năng bị giảm, trang HTML tĩnh, v.v. Điều này có thể hữu ích cho thảm họa lỗi lưu trữ do bạn có tùy chọn lưu trữ với một công ty hoàn toàn khác hoặc trong trường hợp của một cái gì đó như Akamai NetStorage, trực tiếp với nhà cung cấp CDN để họ sẽ hỗ trợ toàn bộ ngăn xếp.

Ngoại trừ tùy chọn thứ ba, bạn không có quyền kiểm soát đối với những gì sẽ được lưu trong bộ nhớ cache trên máy chủ CDN, vì vậy phần quan trọng nhất của quy trình là quyết định làm thế nào trang web của bạn có thể xuống cấp nếu các tính năng khác nhau không khả dụng: ví dụ: nếu bạn có nội dung HTML hợp lý ngay cả khi JavaScript thất bại hoàn toàn, một trang chủ yếu dựa vào thông tin có thể chỉ có thể chạy với nội dung trang cơ bản ngay cả khi các tính năng nâng cao hơn đang lặng lẽ bị lỗi trong nền.


Tóm tắt tuyệt vời! Akamai có Serve stale if unable to validatetùy chọn để khi nguồn gốc không hoạt động, nó sẽ phục vụ nội dung ngay cả khi đạt tới mức TTL.
LeOn - Han Li

@Leonli điểm thứ hai có lẽ cũng có thể sử dụng liên kết đến RFC 5861 vì tôi tin rằng CloudFlare cũng hỗ trợ Cache-Control: stale-if-errorngay bây giờ.
Chris Adams

2

Hầu hết các CDN là nội dung lưu trữ (động) trong một khoảng thời gian (TTL) từ nguồn gốc, trong trường hợp này là máy chủ của bạn. Trong Bảng điều khiển quản lý đám mây của Amazon, việc kiểm soát bộ đệm của nhóm S3 được giải thích.

  1. Hành vi mặc định của S3 của Amazon là lưu trữ đối tượng trong 24 giờ.

  2. Bạn có thể tác động đến hành vi mặc định, bằng cách cung cấp / ghi tiêu đề Cache-Control trên máy chủ gốc hoặc tiêu đề Hết hạn.

    • Khi bạn sử dụng tiêu đề tuổi tối đa Kiểm soát bộ đệm, giá trị tối thiểu là 0. Tại thời điểm đó, Amazon sẽ nội dung máy chủ gốc của bạn, để kiểm tra xem đối tượng có thay đổi không, mỗi lần.

    • Khi bạn sử dụng tiêu đề Hết hạn cho một đối tượng, Amazon sẽ không liên hệ với máy chủ gốc của bạn cho đến ngày đó.

Tôi hy vọng điều này làm rõ hành vi của Amazon.


0

Tôi là Kỹ sư hỗ trợ tại CDN trong hơn một năm và tôi sẽ nói tất cả các câu trả lời ở đây đều tuyệt vời nhưng IMO @ Chris-Adams có câu trả lời tốt nhất (nếu tôi có thể bỏ phiếu thì tôi sẽ làm như vậy).

Một điều khách hàng của chúng tôi làm là trỏ www đến CDN và 301 TLD đến www. Nếu một đối tượng TTL hết hạn thì cạnh sẽ phục vụ nội dung đã hết hạn nếu nó có sẵn trong bộ đệm.

Như đã nói, nếu thời gian hoạt động (và nội dung mới) là quan trọng đối với bạn thì tôi sẽ xem xét chuyển nguồn gốc của bạn (đau ở mông tôi biết) sang máy chủ không gặp sự cố mất điện thường xuyên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.