远程调用 --- 2种常见的远程调用方式(RPC和Http)

常见的远程调用方式有2种:

 RPC :自定义数据格式的远程调用方式.更偏向于底层,所以通信速度快,效率要高点.

        RPC常见的框架为 dubbo

        1.Dubbo是什么?

            Dubbo是阿里巴巴开源的基于Java方向的高性能RPC分布式服务框架(SOA),致力于提供高性能和透明化的

           RPC远程服务调用方法,以及SOA服务治理方案.

           使用Dubbo可以将核心业务抽取出来,作为独立的服务,主键形成稳定的服务中心,可用于提高业务复用灵活扩展 , 使前端应用能够更快速的响应多变的市场需求.

        2.Dubb 和Spring Cloud 有什么区别?

1、通信方式不同:Dubbo 使用的是 RPC 通信,而Spring Cloud 使用的是HTTP RESTFul 方式。
2、组成不一样:
dubbo的服务注册中心为Zookeerper,服务监控中心为dubbo-monitor,无消息总线,服务跟踪、批量任务等组件;
spring-cloud的服务注册中心为spring-cloud netflix  enruka,服务监控中心为spring-boot admin,有消息总线,数据流、服务跟踪、批量任务等组件;

      3.Dubbo有哪几种负载均衡策略,默认是哪种?

1、random loadbalance:安权重设置随机概率(默认);
2、roundrobin loadbalance:轮寻,按照公约后权重设置轮训比例;
3、lastactive loadbalance:最少活跃调用数,若相同则随机;
4、consistenthash loadbalance:一致性hash,相同参数的请求总是发送到同一提供者。

 

HTTP:采用Http协议远程调用方式,规定了数据传输的格式,缺点是消息封装起来有点臃肿.

    现在热门的Rest风格,就可以通过Http协议来实现.

        Http常见的框架:HTTPClient , RestTemplate