Một vài lý do khác hơn là tốc độ:
Thrift tạo ra các client và server mã hoàn toàn, bao gồm cả các cấu trúc dữ liệu bạn đang đi qua, do đó bạn không phải đối phó với bất cứ điều gì khác hơn là viết các xử lý và gọi khách hàng. và mọi thứ, bao gồm các tham số và trả về được tự động xác nhận và phân tích cú pháp. vì vậy bạn đang nhận được kiểm tra sanity trên dữ liệu của bạn miễn phí.
Thrift là nhỏ gọn hơn HTTP, và có thể dễ dàng được mở rộng để hỗ trợ những thứ như mã hóa, nén, không chặn IO vv
Thrift có thể được thiết lập để sử dụng HTTP và JSON khá dễ dàng nếu bạn muốn nó (nói rằng nếu khách hàng của bạn ở đâu đó trên internet và cần phải vượt tường lửa)
Tiết kiệm hỗ trợ kết nối liên tục và tránh giao tiếp TCP và HTTP liên tục mà HTTP phát sinh.
Cá nhân, tôi sử dụng tiết kiệm cho LAN nội bộ RPC và HTTP khi tôi cần kết nối từ bên ngoài.
Tôi hy vọng tất cả điều này có ý nghĩa với bạn. Bạn có thể đọc một bài thuyết trình tôi đưa về thực hành tiết kiệm ở đây:
http://www.slideshare.net/dvirsky/introduction-to-thrift
Nó có liên kết đến một vài lựa chọn thay thế khác để tiết kiệm.
Nguồn
2012-03-16 13:29:04
Câu trả lời tuyệt vời về Dvir! Tôi cũng rất thích nếu tiết kiệm và thích nó trong nhiều trường hợp. Khó khăn lớn nhất là cài đặt trình biên dịch Thrift, nhưng sau khi hoàn tất và kết hợp với plugin maven thích hợp, bạn đã sẵn sàng. Mã máy chủ/khách hàng nhỏ gọn cần thiết là cực kỳ gợi cảm! –
@JacoVanNiekerk cảm ơn, tôi đã biên soạn tiết kiệm rất nhiều lần có vẻ tầm thường với tôi :). Bất lợi lớn nhất trong quan điểm của tôi là các máy chủ python không chơi độc đáo với tiết kiệm, với các giới hạn GIL (Trên thực tế một trong các máy chủ python trong tiết kiệm là một conrtibution tôi đã thực hiện, cố gắng giải quyết vấn đề này). nhưng đối với C++ hoặc Java thì nó rất tuyệt. –
Hầu hết các ứng dụng khách HTTP cũng hỗ trợ giữ liên lạc :) – Xorlev