2012-01-29 28 views

Trả lời

5

Giải pháp có khả năng mở rộng nhất là sử dụng dịch vụ lưu trữ dùng chung như S3 của Amazon (hoặc tự tạo của riêng bạn).

Điều này cho phép bạn mở rộng theo chiều ngang dễ dàng hơn nhiều khi bạn quyết định thêm máy vào lớp ứng dụng của mình, vì bạn sẽ không phải lo lắng về bất kỳ cơn ác mộng di chuyển nào.

Ý tưởng cơ bản đằng sau điều này là giữ cho lớp lưu trữ được tách riêng khỏi lớp ứng dụng. Vì vậy, bằng cách sử dụng ý tưởng này, bạn có thể tạo một quá trình node.js trên một máy riêng biệt chấp nhận các tệp tải lên rồi ghi chúng vào đĩa.

+0

Các OP không yêu cầu quảng cáo về Amazon. MongoDB cũng sẽ có thể mở rộng theo phần chi phí trả cho Amazon trong thời gian dài. Nhưng câu hỏi là về MongoDB và hệ thống tập tin. –

2

Tôi sẽ sử dụng GridFS để tận dụng lợi thế của sharding nhưng cho hiệu suất tốt nhất tôi sẽ sử dụng hệ thống tập tin với nginx.

3

Nếu bạn đang thiết kế hệ thống nhạy cảm hiệu suất, hãy sử dụng hệ thống tệp để lưu trữ hình ảnh của bạn không nghi ngờ gì.

Bạn có thể tìm thấy việc thực hiện so sánh từ blog này: http://blog.thisisfeifan.com/2013/12/mongodb-gridfs-performance-test.html

Trên thực tế, bạn có thể tìm thấy những GridFS MongoDB khuyến cáo trường hợp sử dụng ở đây: https://docs.mongodb.com/manual/core/gridfs/#when-to-use-gridfs

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