2009-06-07 42 views

Trả lời

11

Theo nguyên tắc chung, RPC cung cấp mức trừu tượng cao hơn so với một số phương tiện giao tiếp liên bộ khác. Điều này làm cho nó, có lẽ, dễ sử dụng hơn so với nguyên thủy cấp thấp hơn. Đối với sự trừu tượng này, bạn có thể trả một số hình phạt về hiệu suất do marshaling/unmarshaling và có thể phải đối phó với độ phức tạp thêm trong cấu hình cho các tình huống đơn giản.

Bạn có thể quan tâm đến điều này thesis (pdf) của Jackie Silcock thảo luận về sự khác biệt giữa truyền thông điệp, RPC và bộ nhớ chia sẻ được chia sẻ với một số biện pháp khác nhau về hiệu suất và triển khai. Bạn cũng có thể đọc một trong các giấy tờ dựa trên luận án: Message Passing, Remote Procedure Calls and Distributed Shared Memory as Communication Paradigms for Distributed Systems (pdf)

+0

Liên kết dường như bị hỏng. Bạn có biết tìm tài liệu ở đâu không? – SteinNorheim

+1

@ norheim.se - TR dường như đã biến mất, nhưng tôi đã theo dõi luận án gốc và một bài báo dựa trên đó. Hy vọng rằng các liên kết này sẽ kéo dài lâu hơn một chút. – tvanfosson

+0

tuyệt vời! Cảm ơn rất nhiều! +1 – SteinNorheim

22

Bạn đang nói về RPC và Nhắn tin? Như trong (thông thường) không đồng bộ tin nhắn? Nếu đó là những gì bạn đang nói về, sau đó nhắn tin có xu hướng mạnh mẽ hơn với chi phí phức tạp và cơ sở hạ tầng thêm.

Ví dụ đơn giản nhất là nếu bạn có một kịch bản mà bạn RPC-> RPC-> RPC, bạn sẽ có một ngăn xếp cuộc gọi đó là 3 quy trình/máy sâu. Bất kỳ một trong những quy trình/máy có thể thất bại trong quá trình xử lý, và toàn bộ ngăn xếp thư giãn.

Nếu bạn đang nhắn tin, kết nối thực tế giữa các quy trình ít hơn nhiều. Bạn đưa tin nhắn ra, và bạn đang trên con đường của bạn. Bây giờ nếu một trong các quy trình thất bại, có một cơ hội tốt để nó được khởi động lại ở nơi nó đã dừng lại, vì thông thường, thông báo vẫn đang nằm trên hàng đợi ở đâu đó chờ đợi một quy trình mới tìm nạp nó. Thời gian tổng thể có thể dài hơn, nhưng đó là một hệ thống mạnh mẽ hơn nhiều.

Tâm trí không có thuốc chữa bách bệnh, có rất nhiều cạm bẫy với kiến ​​trúc không đồng bộ, nhưng sự mạnh mẽ này là sự khác biệt chính giữa hệ thống RPC và Nhắn tin.

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