12

Tôi đang trong tình huống cần lưu trữ hình ảnh cho một số trang web ra dịch vụ có thể mở rộng vô thời hạn (S3, CloudFiles, v.v.). Cho đến thời điểm này, chúng tôi đã có thể cho phép người dùng của mình tạo kích thước hình thu nhỏ tùy chỉnh khi đang sử dụng thư viện Hình ảnh của Python với một số trợ giúp từ sorl-thumbnail ở Django.Chia tỷ lệ hình ảnh được lưu trữ tại S3

Bằng cách di chuyển hình ảnh của chúng tôi đến một cái gì đó như S3, khả năng nhanh chóng tạo hình thu nhỏ khi di chuyển bị mất. Chúng tôi có thể:

  1. làm nó từ từ bằng cách tải về các nguồn tin từ S3 và tạo hình thu nhỏ tại địa phương
    con: đó là chậm và tốn băng thông
  2. Do nó trả trước bằng cách tạo ra một tập hợp được xác định trước của kích thước hình thu nhỏ (a'la Flickr) và đẩy tất cả chúng lên S3
    con: nó giới hạn kích thước có thể được tạo và lưu trữ nhiều tệp sẽ không bao giờ được sử dụng
  3. Cho phép trình duyệt thay đổi kích thước bằng chiều cao/chiều rộng thuộc tính trên img nhãn.
    con: thêm băng thông sử dụng bằng cách tải lớn hơn so với các file cần thiết

Tại thời điểm này # 3 có vẻ là một giải pháp đơn giản cho vấn đề với vài nhược điểm. Một số thử nghiệm nhanh và data from this website cho thấy chất lượng không kém như mong đợi (chúng tôi có thể đảm bảo tỷ lệ khung hình được duy trì).

Bất kỳ đề xuất nào về các tùy chọn hoặc hạn chế khác mà chúng tôi có thể không tính đến?

lưu ý: Hình ảnh là ảnh kỹ thuật số và chỉ được sử dụng để hiển thị trên web. Kích thước sẽ dao động từ 1000-50 pixel chiều cao/chiều rộng.

Trả lời

6

Tôi khuyên bạn nên sử dụng EC2 để chia tỷ lệ hình ảnh theo yêu cầu. Kể từ khi băng thông giữa EC2 và S3 là miễn phí và nó phải được nhanh chóng, tôi nghĩ rằng loại bỏ tất cả các vấn đề với giải pháp # 1.

+0

Máy chủ của chúng tôi ở Slicehost và theo chúng, chúng tôi có kết nối 100Mbps miễn phí với CloudFiles. Vâng, điều này không làm tôi lo lắng về # 1. – Pete

+1

Kết hợp với bộ nhớ cache khi một hình ảnh bị ảnh hưởng bởi Digg, điều này sẽ hoạt động tốt. Tôi ghét phải nghĩ đến hàng ngàn người dùng yêu cầu cùng một hình ảnh được mã hóa JPEG nhiều lần. –

Các vấn đề liên quan