RPC概念:(参考:http://www.imooc.com/article/285514)

  RPC(远程过程调用)一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样,通过网络传输去访问远端系统资源。一般来说,RPC框架实现的架构原理都是类似的。

     客户端调用:负责发起RPC调用,为调用方用户提供使用API。

    服务端响应:主要是服务端业务逻辑实现。

    序列化/反序列化:负责对RPC调用通过网络传输的内容进行序列化与反序列化,不同的RPC框架有不同的实现机制。一般分为文本(XML、JSON)与二进制(Java原生的、Hessian、protobuf、Thrift、Avro、Kryo、MessagePack),需要注意的是,不同的序列化方式在可读性、码流大小、支持的数据类型及性能等方面都存在较大差异,我们可以根据需要自行选择。

    Stub:我们看成代理对象,它会屏蔽RPC调用过程中的复杂的网络处理逻辑,使其透明简单,且能够保持与本地调用一样的代码风格。

    通信传输:即RPC的底层通信传输模块,一般通过Socket在客户端与服务端之间传递请求与应答消息。

最新文章

  1. 【repost】浏览器内核、渲染引擎、js引擎
  2. django tmeplate 循环基数
  3. UVa OJ 180 - Eeny Meeny
  4. 记录一些容易忘记的属性 -- UILabel
  5. MYSQL远程登录权限设置
  6. MySQL(11):存储引擎
  7. js中 ===与==
  8. ORACLE里锁有以下几种模式,v$locked_object,locked_mode
  9. [LeetCode] Design Linked List 设计链表
  10. 【面试必备】常见Java面试题大综合
  11. 条件分支SQL语句<一> Case When
  12. Recurrent Neural Network[Quasi RNN]
  13. call,apply,bind——js权威指南函数属性和方法章节读书笔记
  14. Python hashlib&hmac 模块
  15. 转的,具体 https://www.cnblogs.com/icyJ/p/FreeShare.html
  16. CMMI三个过程域的流程及达到特定目标、共性目标的要求(RD需求管理过程,PI产品集成过程,TS技术解决方案)
  17. 最常使用Eclipse快捷键
  18. testng报告发邮件后css样式缺失问题
  19. Windows下安装和配置Apache2.2.22服务器+PHP5+Mysql5
  20. 帝国CMS 列表模板list.var支持程序代码

热门文章

  1. Emacs Python 自动补全之 eglot
  2. Switch 开关
  3. Java学习之==>面向对象编程 Part1
  4. RTX系统整合记录
  5. node在Web中的用途
  6. vue项目与node项目分离
  7. 查找两个有序数组中的第K个元素(find kth smallest element in 2 sorted arrays)
  8. mongodb 数据库操作 -- 》常用命令
  9. selenium-模拟鼠标
  10. c语言l博客作业07