zoukankan      html  css  js  c++  java
  • RPC与HTTP的区别

    转自:https://www.cnblogs.com/111testing/p/11297037.html

    1. RPC API和RESTful API

     (1)RPC面向过程:内部调用建议RPC

    (2)RESTful 面向资源:对外开发推荐RESTful

    RPC远程调用不一定跨网络,同一台主机的两个进程直接也可以是RPC。REST就是一种RPC

    RPC可以通过http也可以直接走socket。 选用http,是由于其更通用。

    2. RPC与HTTP的不同特点

    2.1 传输协议

    (1)RPC:基于TCP,也可基于HTTP

    (2)HTTP:基于HTTP

    2.2传输效率

    (1)自定义TCP协议,报文小。 如果基于HTTP2协议,也可减小报文,提高传输效率

    (2)基于HTTP1.1协议,报文有很多无用内容,传输效率低

    2.3 性能消耗,主要在于序列化和反序列化的耗时

    (1)RPC,可以基于thrift实现高效二进制传输

    (2)HTTP,大部分是json实现,字节大小和序列化耗时逗比thrift更消耗性能

    2.4负载均衡

    (1)RPC自带负载均衡策略

    (2)HTTP,需要配置Nginx,HAProxy来实现

    2.5服务治理

    (1)RPC,自动通知

    (2)HTTP,事先通知,修改Nginx/HAProxy配置

    3.总结

    (1)RPC:用于公司内部服务调用,性能消耗低,传输效率高,服务治理方便。 实现负载,适用于开发过程使用同一的技术栈

    (2)HTTP:用于对外的异构环境,浏览器接口调用,APP接口调用,第三方接口调用。实现简单,更加灵活,跨语言,跨平台

    微服务,强调的是独立、自治、灵活。而RPC方式限制多,因此微服务常用基于http的Rest风格服务。

  • 相关阅读:
    svn 常用控制台命令解析
    android studio Activity标题栏研究
    android 音频播放总结 soundlPool,MediaPlay
    android studio 将library导出为jar 亲测成功
    android 控件自定义样式
    android studio 程序错误
    android 界面布局
    jdk 多版本安装 for mac
    android 控件ui
    homebrew for mac
  • 原文地址:https://www.cnblogs.com/ppybear/p/12461460.html
Copyright © 2011-2022 走看看