2009-09-30 20 views
14

I gather rằng về cơ bản không có giới hạn về lượng dữ liệu có thể gửi khi sử dụng REST qua POST hoặc GET. Trong khi tôi đã không sử dụng REST hoặc các dịch vụ web có vẻ như hầu hết các dịch vụ liên quan đến việc chuyển một lượng dữ liệu giới hạn. Nếu bạn muốn chuyển 1-5MB giá trị của dữ liệu (theo một trong hai hướng) là các dịch vụ web được coi là một ý tưởng tồi?Ý tưởng tồi để chuyển tải trọng lớn bằng dịch vụ web?

Cập nhật: Các ứng dụng mà chúng tôi đang xem xét kết nối qua dịch vụ REST là ứng dụng nội bộ. Chúng tôi có tùy chọn chọn các tùy chọn kết nối khác (ví dụ: RMI)

+3

Đừng quên xem xét nén - đặc biệt nếu bạn đang gửi các tệp XML/văn bản lớn xung quanh. Một tệp XML 800MB sẽ nén (với gzip) xuống còn khoảng 30MB. – Gandalf

Trả lời

8

1-5mb sử dụng phần còn lại không thực sự lớn đến tập dữ liệu. Yếu tố hạn chế có thể là trí nhớ. Tùy thuộc vào cách bạn tạo xml, bạn có thể chạy thấp trên tài nguyên máy chủ nếu bạn có lưu lượng truy cập cao trên dịch vụ.

Nếu bạn đang sử dụng bộ nhớ phát trực tuyến xml thì sẽ không có nhiều vấn đề. tạo ra một cây dom và sau đó nhổ nó ra sẽ có nhiều bộ nhớ hơn.

Nhưng ngay cả khi cây dom của bạn chiếm gấp 10 lần bộ nhớ của xml thô, bạn sẽ cần 40 kết nối liên tục lấp đầy 2GB bộ nhớ máy chủ. Vì vậy, nó có thể không phải là một vấn đề trong tình huống của bạn.

Ít có khả năng là sự cố bộ nhớ ở phía máy khách. nhưng 5 de-serializing một 5MB xml dump không phải là một vấn đề trên bất kỳ máy tính bình thường.

4

1-5 MB là không sao, miễn là bạn cung cấp cho người dùng một số loại phản hồi tiến độ. Các dịch vụ web chạy trên HTTP, điều này là ổn khi nói đến chi phí trên các tập dữ liệu lớn hơn, vấn đề thực sự là XML. XML, thường xuyên hơn không, thêm một chi phí rất lớn cho kích thước của dữ liệu tuần tự hóa. Tôi muốn xem xét JSON hoặc Hessian cho các tập dữ liệu lớn hơn :)

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