分布式系统
    建立在网络上的软件系统,因为是软件特性,所以分布式系统具有高内聚透明性.
    分布式带来问题
    分布式事务
    一个操作,分成几个操作在不同服务上执行,要么都成功,要么都失败。
    无状态服务
    服务器不存储任何信息。一次请求包含此次请求的所有数据,或可在数据库中查询获得。
    运维成本
    多个节点服务,增加运维成本。
    现有RPC实现方案

    协议 描述 优点 缺点
    RMI JAVA 远程方法调用、使用原生二进制方式进行序列化 简单、支持SDK 仅支java,不支持负载均衡
    http 采用http +json 实现 简单、轻量、跨语言 不支持SDK
    hessian 采用http +hessian序列化实现 简单、轻量、支持SDK 仅支持java
    Web Service 跨语言, 其基于WSDL 生成 SOAP 进行消息的传递 支持SDK、跨语言 实现较重,发布繁琐

    Java RMI,即 远程方法调用(Remote Method Invocation),一种远程过程调用(RPC)(Remote procedure call)的实现方式, 能直接传输序列化后的Java对象和分布式垃圾收集。它的实现依赖于JVM,因此它仅支持从一个JVM到另一个JVM的调用。