Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
RMI 服务导出器和 HttpInvoker 有什么区别?
我知道 RMI 使用 RMI 作为底层通信技术和调用者标准 http post。还有其他值得注意的区别吗?
RMI 是一种标准的 Java 技术,原则上是可移植的。您可以轻松地与其他 Java 应用程序进行交互。
Spring HTTP 调用程序是一项专有技术。它们和 RMI 一样,使用 Java 序列化,但使用标准 HTTP 协议作为底层网络层。一方面,由于您仅限于其他 Spring 应用程序,因此可移植性较差。另一方面,与二进制 RMI 协议相比,使用标准 HTTP 协议可能被视为更具可移植性。
RMI,如果您需要跨 Java 应用程序的可移植性
HTTP 调用程序,如果您需要透明的网络传输、与防火墙良好配合等。
SOAP/REST Web 服务,如果您的 API 应该跨不同平台/客户端工作并且它需要使用标准 HTTP 协议工作
如果您需要高效且可移植的二进制协议,请使用Thrift或protobuf