1 微服务

  • 单体架构

    1. 一旦某个服务宕机,会引起整个应用的不可用,隔离性差

    2. 只能整体应用进行伸缩,浪费资源,可伸缩性差

    3. 代码耦合在一起,可维护性差

  • 微服务架构

    1. 解决了单体架构的弊端,但同时引入了新的问题

    2. 代码冗余

    3. 服务和服务之间存在调用关系

服务拆分后,服务和服务之间的调用是进程与进程之间的调用,是服务器和服务器之间的调用。

那么就需要发起网络调用,在微服务架构中,使用http虽然便捷方便,但性能较低,这时候就引入了RPC(远程过程调用,Remote Procedure Call),通过自定义协议发起TCP调用,来加快传输效率。

RPC是一种协议,用来屏蔽分布式计算中的各种调用细节,使得你可以想本地调用一样直接调用一个远程的函数。

客户端和服务端沟通的过程:

  1. 客户端发送数据,以字节流的方式

  2. 服务端接受并解析,根据约定知道要执行什么,然后把结果返回给客户

RPC

  1. RPC就是将上述过程进行封装,使其操作更加优化

  2. 使用一些大家都认可的协议使其规范化

  3. 做成一些框架,直接或间接产生利益

最后更新于