zoukankan      html  css  js  c++  java
  • RPC简介

    一:为什么会出现RPC呢?


    当公司业务量还是很小的时候,所有的程序都放置在一台机器上,程序之间通过函数或者类来调用。
    1:当公司的业务发展越来越大,业务线越来越多,公司后端人员也越来越多,分布在不同的业务线,不同的项目里,其他项目组开发了一个服务,另外一个组想调用这个服务,这时候该怎么办?
    2:业务越来越多,我们需要划分不同的业务模块,需要把公共服务独立出来,如何调用这些公共服务和不同的业务模块提供的服务?
    3:如果后端有2个开发组,做着的不同业务,并且使用不同的开发语言,比如php和java,那么他们之间的业务怎么相互进行调用呢?
    这时候 rpc 就应运而生了,它可以在不同的模块不同语言之间进行通信。

    所以 rpc 是业务变得越来越多,需要对业务进行拆分,不同的模块提供不同的服务时,各服务模块之间相互进行通信的一种方式。

    二:RPC是什么?


    RPC(Remote Procedure Call Protocol)——远程过程调用协议。
    它是一种通过网络从远程计算机程序上请求服务,而调用者不需要了解底层网络技术的协议,它让调用者对网络通信这些细节是透明的。
    rpc采用的是客户端<----->服务器模式。 请求程序是一个客户机,而服务提供程序就是一个服务器。
    rpc的通信模型如下图:

     三:有哪些RPC框架


    各大互联网公司都根据自己公司业务特点开发了自己的rpc框架,如阿里巴巴的hsf、dubbo(开源)、Facebook的thrift(开源)、Twitter的finagle(开源)等

    下一篇我们分析下thrift框架,看看rpc框架是怎么进行通信的,它的原理是什么?

  • 相关阅读:
    C#中KeyDown和KeyPress区别
    c#快捷键设置和text输入限制
    问题总结
    c#串口编程和单片机通信重大发现
    c#类似单片机的8bit或运算
    c#中将默认常量(32bit)转换为8bit
    我的秋季个人阅读计划
    学期总结
    阅读笔记《软件秘籍》03
    阅读笔记--09
  • 原文地址:https://www.cnblogs.com/jiujuan/p/10269859.html
Copyright © 2011-2022 走看看