美文网首页
2个服务间通信过程

2个服务间通信过程

作者: kobe0429 | 来源:发表于2019-03-21 13:23 被阅读0次

两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。


1.jpg

一个基本的RPC架构里面应该至少包含以下4个组件

1、客户端(Client):服务调用方(服务消费者)

2、客户端存根(Client Stub):存放服务端地址信息,将客户端的请求参数数据信息打包成网络消息,再通过网络传输发送给服务端

3、服务端存根(Server Stub):接收客户端发送过来的请求消息并进行解包,然后再调用本地服务进行处理

4、服务端(Server):服务的真正提供者

2.jpg

RPC调用具体步骤:

1、服务消费者(client客户端)通过本地调用的方式调用服务

2、客户端存根(client stub)接收到调用请求后负责将方法、入参等信息序列化(组装)成能够进行网络传输的消息体

3、客户端存根(client stub)找到远程的服务地址,并且将消息通过网络发送给服务端

4、服务端存根(server stub)收到消息后进行解码(反序列化操作)

5、服务端存根(server stub)根据解码结果调用本地的服务进行相关处理

6、本地服务执行具体业务逻辑并将处理结果返回给服务端存根(server stub)

7、服务端存根(server stub)将返回结果重新打包成消息(序列化)并通过网络发送至消费方

8、客户端存根(client stub)接收到消息,并进行解码(反序列化)

9、服务消费方得到最终结果

相关文章

  • 2个服务间通信过程

    两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接...

  • RPC原理

    服务调用 由于各服务部署在不同机器,服务间的调用免不了网络通信过程,服务消费方每调用一个服务都要写一坨网络通信相关...

  • rpc 原理

    由于各服务部署在不同机器,服务间的调用免不了网络通信过程,服务消费方每调用一个服务都要写一坨网络通信相关的代码,不...

  • ServiceMesh简述

    微服务架构不是银弹,在业务逐渐增长的过程中可能会遇到以下问题。 业务关注服务间通信,业务之间的通信会导致业务的迭代...

  • RPC

    RPC调用过程 由于各服务部署在不同机器,服务间的调用免不了网络通信过程,服务消费方每调用一个服务都要写一坨网络通...

  • SpringCloud 服务间通信

    主要有两种方式一种 Feign,一种 RestTemplate。 Feign 1. 新增依赖 2. 在启动类上新增...

  • 环信服务器简单介绍

    通信过程及聊天记录保存 通信过程 客户端通过环信服务器进行通信。 在线状态:客户端A发送消息到环信服务器,环信服务...

  • 🏆【Alibaba微服务技术系列】「Dubbo3.0技术专题」回

    RPC服务 什么叫RPC? RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信...

  • 手撸一个RPC框架

    如何调用他人的远程服务? 由于各服务部署在不同机器,服务间的调用免不了网络通信过程,服务消费方每调用一个服务都要写...

  • 微服务-进程间通信

    简介 在单体应用中,各模块间是直接通过编程语言调用函数来直接调用的。但在微服务这种分布式应用中,每个服务实例都是一...

网友评论

      本文标题:2个服务间通信过程

      本文链接:https://www.haomeiwen.com/subject/jnyqvqtx.html